1.char **p, a[16][8];
2.
问:p=a是否会导致程序在以后出现问题?为什么? 会,因为a的类型为char (*)[8], p只是一个指向指针的指针,没有数组类型信息。
p[1][2]和a[1][2]代表一样的意思吗?p = a; 问 a[1][2] = 1; 那么p[1][2]的值是多少 ?
我们应该知道 二维数组在内存中也是一维排布的
所以 a[1][2] 代表 第11个元素
我们再来看 p[1][2] 因为p的类型为 char**p 所以p[1][2] 代表的意思 *(*(p+1) + 2) , p指向一个char* 所以p+1向前移动4个字节 后面+2再向前移动2个字节 一共6个字节 所以说 一样吗。
选C:C是指针,肯定不为0.