第1个回答 2013-08-17
char * arr[3]={"hello","erwei","shuzhu"};是数组指针。3个指针组成的数组,地址没有啥联系,编译随机分配地址,你将字符创位数变了后,地址之间的差就回变。编译器是按没4个字节来分配地址的,字符创长度超过4,就非配8字节,相差8是因为碰巧了,
char * (aqq[3])={"hello","erwei","shuzhu"};是指针数组,数组里的每个元素都是指针,这时候不管字符串长度怎么变,他们的地址都是相差4,因为指针的位数就是int型4位。