为了账号安全,请及时绑定邮箱和手机立即绑定

指针的类型是怎么识别的

指针是一个地址,那么指针指向什么类型的空间是怎么识别的?需要存储额外的信息吗,比如说int a;  int *p = &a;通过p来找到a时,p只是首地址,程序是怎么知道该从p开始向后找四个字节的,这个四个字节的长度信息是从哪来的?

正在回答

2 回答

首先,int *p, *表示p是一个指针变量,int 表示指针p指向整形变量。

其次,C语言规定指针变量占四个字节,四个字节里面(如p)存放的是指向的变量的地址值(a的地址值,好比家的门牌号)

0 回复 有任何疑惑可以回复我~
#1

洪一帆 提问者

你没明白我问的是什么,我是说指针的类型是存储在哪里的,就是说p是a的首地址,通过p找a的值的时候怎么知道要从收地址往后找四个字节的 现在明白了,这是编译时确定的,所以不需要额外存储信息
2015-12-19 回复 有任何疑惑可以回复我~
#2

洪一帆 提问者

非常感谢!
2015-12-19 回复 有任何疑惑可以回复我~
#3

小蜗牛不回头 回复 洪一帆 提问者

不客气哟 互勉 加油
2015-12-19 回复 有任何疑惑可以回复我~

明白了,长度信息是编译器根据类型做的,对吧?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Linux C语言指针与内存
  • 参与学习       116432    人
  • 解答问题       250    个

指针-C语言的核心,代领大家对c语言有更加深刻的理解

进入课程

指针的类型是怎么识别的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信