洪一帆
2015-12-19 13:06
指针是一个地址,那么指针指向什么类型的空间是怎么识别的?需要存储额外的信息吗,比如说int a; int *p = &a;通过p来找到a时,p只是首地址,程序是怎么知道该从p开始向后找四个字节的,这个四个字节的长度信息是从哪来的?
首先,int *p, *表示p是一个指针变量,int 表示指针p指向整形变量。
其次,C语言规定指针变量占四个字节,四个字节里面(如p)存放的是指向的变量的地址值(a的地址值,好比家的门牌号)
明白了,长度信息是编译器根据类型做的,对吧?
Linux C语言指针与内存
116475 学习 · 250 问题
相似问题