#include<stdio.h>void main(){ char p[]={'1','2','3'},*q=p;printf("%d\n",sizeof(q));} 结果为什么是4

日期:2013-09-20 15:36:49 人气:1

#include<stdio.h>void main(){ char p[]={'1','2','3'},*q=p;printf("%d\n",sizeof(q));} 结果为什么是4

什么都不要看,只要看q的定义。 q的定义语句是:char * q; (当然了,用p初始化了q,不过这不重要) 也就是说,q是一个指针,一个指针占用多少个字节? 指针存放的也就是内存地址,在32位系统下,内存地址是32位的,也就是4个字节。 所以32位系统下,指针始终占用4个字节。 所以以上结果为4
    A+
热门评论