一个关于指针数组的问题,弄不懂。
#include "stdio.h"main()
{char *p[3]={{"000"},{"000"},{"000"}};
printf("%x\n %x\n %x\n",p,p[1],p[2]);
}
在Vc++6.0 上输出
42002c
42002c
42002c
在wint-c 上输出
19a
19a
19a
我的理解是,p[0],p[1],p[2]分别指向不同的地址,他们虽然指向的字符数组的内容相同,但显示为何是p[0].p[1].p[2]呢,难道不分别为三个{"000"}开辟不同的内存空间吗?