0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

指针长度简述

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-09-29 18:42 次阅读

我们使用这样的方式来定义一个指针:

Type *p;

我们说

p是指向type类型的指针

,type可以是任意类型,除了可以是char,short, int, long等基本类型外,还可以是指针类型,例如int *, int **, 或者更多级的指针,也可是是结构体,类或者函数等。于是,我们说:

int * 是指向int类型的指针;int **,也即(int *) *,是指向int *类型的指针,也就是指向指针的指针;int ***,也即(int **) *,是指向int**类型的指针,也就是指向指针的指针的指针;…我想你应该懂了

struct xxx *,是指向struct xxx类型的指针;

其实,说这么多,只是希望大家在看到指针的时候,不要被int ***这样的东西吓到,就像前面说的,指针就是指向某种类型的指针,我们只看最后一个*号,前面的只不过是type类型罢了。

细心一点的人应该发现了,在“什么是指针”这一小节当中,已经表明了:

指针的长度跟CPU的位数相等

,大部分的CPU是32位的,因此我们说,

指针的长度是32bit,也就是4个字节!

注意:任意指针的长度都是4个字节,不管是什么指针!(当然64位机自己去测一下,应该是8个字节吧。。。)

于是:

Type *p;

izeof(p)的值是4,Type可以是任意类型,char,int, long, struct, class, int **…

以后大家看到什么sizeof(char*), sizeof(int *),sizeof(xxx *),不要理会,统统写4,只要是指针,长度就是4个字节,绝对不要被type类型迷惑!

poYBAGM1doqAUEDPAAEDHxPaKFQ618.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • 指针
    +关注

    关注

    1

    文章

    473

    浏览量

    70362
收藏 人收藏

    评论

    相关推荐

    怎么理解指针指针

    怎么理解指针指针?其实这个概念并不难,只是把它放到实际应用中,容易造成困扰。
    的头像 发表于 02-23 16:46 412次阅读
    怎么理解<b class='flag-5'>指针</b>的<b class='flag-5'>指针</b>?

    函数指针指针函数是不是一个东西?

    函数指针的本质是指针,就跟整型指针、字符指针一样,函数指针指向的是一个函数。
    的头像 发表于 01-03 16:35 261次阅读
    函数<b class='flag-5'>指针</b>和<b class='flag-5'>指针</b>函数是不是一个东西?

    数组和指针不相同吗?数组和指针有哪些区别

    数组就是指针指针就是数组,这样的言论在评论区看到不下于10次。
    的头像 发表于 12-13 16:34 356次阅读
    数组和<b class='flag-5'>指针</b>不相同吗?数组和<b class='flag-5'>指针</b>有哪些区别

    指针是什么

    指针是什么? 1.1 浅谈指针 理解指针的 两个要点: 指针是内存中一个最小单元的编号,也就是地址; 平时口语中说的指针,通常指的是
    的头像 发表于 11-24 15:50 1275次阅读
    <b class='flag-5'>指针</b>是什么

    为什么说指针是C语言的灵魂呢?

    指针是C语言的灵魂,这句话并不夸张。
    发表于 09-05 17:03 436次阅读
    为什么说<b class='flag-5'>指针</b>是C语言的灵魂呢?

    一文详解函数指针与回调函数

    函数指针是指向函数的指针变量。它允许我们将函数作为参数传递给其他函数或将函数作为返回值返回。函数指针的类型与所指向的函数的类型相匹配。
    发表于 08-22 10:36 191次阅读

    悬空指针能不能访问?

    指针被释放后,是不是就变成了空指针?这是很多刚接触指针的同学存在的误区。
    的头像 发表于 08-17 17:11 639次阅读
    悬空<b class='flag-5'>指针</b>能不能访问?

    C语言中指针数组和数组指针的区别

    指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和数组
    发表于 08-17 15:29 280次阅读

    C语言中空指针和野指针的概念及产生原因

    在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针
    发表于 08-16 16:18 400次阅读

    C语言中多级指针的概念和使用方法

    多级指针在C语言中是一种特殊的指针类型,它可以指向其他指针指针
    发表于 08-16 16:16 308次阅读

    C语言中指针函数和函数指针的概念及应用示例

    在C语言中,指针函数和函数指针是强大且常用的工具。它们允许我们以更灵活的方式处理函数和数据,进而扩展程序的功能。
    发表于 08-16 16:14 343次阅读

    二次回路简述

    二次回路简述
    的头像 发表于 06-28 10:15 533次阅读
    二次回路<b class='flag-5'>简述</b>

    C语言数组和指针的区别

    指针是一个变量,它存储了一个内存地址,该地址指向一个变量的存储位置。通过指针,可以访问和修改指向的变量。
    的头像 发表于 05-30 10:55 560次阅读
    C语言数组和<b class='flag-5'>指针</b>的区别

    C语言中一级指针、二级指针和三级指针

    一级指针的用法其实是取数据的地址,以此类推,二级指针就是取一级指针的地址,也可以表示一级指针的指向的内容。
    发表于 05-19 17:30 951次阅读
    C语言中一级<b class='flag-5'>指针</b>、二级<b class='flag-5'>指针</b>和三级<b class='flag-5'>指针</b>

    C语言进阶:函数指针的概念和使用方法

    函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,
    发表于 05-02 06:17 5049次阅读