C语言老师请进 指针的问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 18:13:10
我定义了一个指针变量 p,这个变量占几个字节啊,是两个,还是四个
还是与指针类型有关啊
int *p1;
float *p2;
p1,p2都占几个字节的内存空间呢

在现在的机器上都是四个字节

已经运行过的代码:

main()
{
int* p1;
float* p2;
printf("%d\n",sizeof(p1));
printf("%d\n",sizeof(p2));
}

int型 p1占2个字节
float型 p2占4个字节

......
指针里存的是啥,内容地址好不好
占的空间都是一样的

p1 和p2 都占 4个字节

指针只是存放指向另一个对象的地址,它只是说明另一个对象在内存的位置,所以指针本身在内存中的大小是依靠系统的,就目前大家所熟悉的平台,其内存地址线有32根,所以有2^32=4GB的内存寻址空间,所以指针本身在内存里占4个字节的空间.sizeof这个东东,有时候并不是说指针在内存的大小,但是普通的是这样的,这个可以再专门看一下sizeof的用法