c语言中关于指针移动问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:59:54
“只要是指针,存储单元一定是四字节大小”这句话和“移动指针的时候,要考虑不同的指针基类型,如果是int,就移动4字节,如果是字符型,就移动1字节,如果是双精度型,就是8字节。”这句话是否矛盾?
不是只要是指针就是四字节么?为啥移动的时候还要分别考虑?

指针类型所占内存空间在32位系统下为4个字节。是指:指针本身占的长度。
移动指针的时候。。。。。。。。。。。。。指的是:指针所指的类型所占的长度啊。

你可以用sizeof()看一下 所占内存大小。

比如 char *p; int *s;
那么:
sizeof(p)=4,sizeof(*p)=1
sizeof(s)=4,sizeof(*s)=4
注意,结果依据编译器而定。TC一般是2字节。。VC++是4字节。