首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在VC中是占4个字节).举个例子:int a[3][3];int(*p)[3];p=a; //... 分析总结。 首先p3是一个指针数组意思就是p这个指针是指向一个含有3个元...
解析 答案是D,因为二维数组名就是首行的数组指针,其中的A答案是普通指针,B答案是二重指针,C答案是指针数组 结果一 题目 请教答案是怎么定义出的 要使p指向二维整型数组a,p应定义为( ). A.int *p=a; B.int **p=a; C.int *p=a; D.int(*p)=a 答案 答案是D,因为二维数组名就是首行的数组指针,其中...
解答一 举报 首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在VC中是占4个字节).举个例子:int a[3][3];int(*p)[3];p=a; //... 解析看不懂?免费查看同类题视频解析查看解答 ...
int**p = (int**)malloc(sizeof(int*)*SIZE);for (int i = 0; i < SIZE; i++) { p[i] = (int*)malloc(sizeof(int)*SIZE);} 然后就可以这么用了 p[i][j]。想要指向二维数组,必须定义一个指向一维数组的指针 int (*p)[SIZE] = a; 这样才能赋值。
p指向一个N列二维数组的首地址 p自增1,p指向下一“行”一维数组的首地址 因为p是一个二级指针。所以索引其指向的数据内容需要取二次内容,格式及解释如下:格式:*(*(p+行)+列)解释:其实很好理解,因为p作为二级指针,p++代表的仅仅是行号+1所以格式中*(p+行)就取到了所在行首地址指针(...
0012FF44 **p 是第一行第一个元素的值 1 这个二级指针是很特殊的,因为: p和*p的值都是相同的 但是编译器会对他们做出不同的解释,p 解释为行的首地址,操作单位为行, *p 解释为行的第一个元素的地址, 操作单位为元素 同理 二维数组名a,也是一个二级指针 a 是行的首地址 *a 是行的第一个元素的首...
若有定义int *p[10];则p是指向二维数组的一个指针。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具
{inta[][4] = {1,3,5,7,9,11,13,15,17,19,21,23};int( *p )[4], i, j;//int ( *p )[ 4 ]表示p是一个指针变量,它指向4个整形元素的一维数组p = a;//二维数组的首地址赋给pscanf ("i = %d, j = %d", &i, &j ); ...
首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在vc中是占4个字节)。举个例子:int a[3][3];int(*p)[3];p=a;//也就是把数组a的首地址存放到p中 那么p[1]就是a[1][0]的...
p=a[0]:p指向二维数组a的第0行的行首元素的地址,也就是a[0][0]所对应的地址 (p+1)[2],也就是第一行的第2个元素的值,也就是a[1][2]