2条回答 默认 最新
- Kolamu 2017-01-22 08:44关注
二维数组就是这么定义的,你可以进一步看一下二维数组的动态分配,char (*p)[20] = (char(*)[20])malloc(sizeof(5*20*sizeof(char));这里的p是首地址,加1相当于地址加20,这里存的是p[1][20]的地址,而p+i的地址也是p[1][20]的首地址,所以是一样的。
解决 无用评论 打赏 举报
二维数组就是这么定义的,你可以进一步看一下二维数组的动态分配,char (*p)[20] = (char(*)[20])malloc(sizeof(5*20*sizeof(char));这里的p是首地址,加1相当于地址加20,这里存的是p[1][20]的地址,而p+i的地址也是p[1][20]的首地址,所以是一样的。