指向二维数组某一行元素在C语言的指针变量
提问人:杨紫红发布时间:2020-11-17
定义形式:数组元素类型 (*指针变量名)[常量表达式];
含义:定义了一个指针变量,该指针变量指向一个长度为常量表达式值的一维数组
例如:int (*q)[4];
定义了一个指针变量q,他指向一个长度为4的整型数组,此时,q的值是该一维数组的起始地址,而不是该一维数组的第一个元素的地址。
有二维数组:
int a[3][4];
若有:int (*q)[4];
使q指向二维数组第0行的赋值语句是:q = a;或q=&a[0];
使q指向二维数组第i行的赋值语句是:q = a+i;或q=&a[i];
在此前提下:二维数组元素a[i][j]可以采用 *(*q+j)引用。
若有:int *q ;
使q指向二维数组第一行第一个元素的赋值语句是q = a[0];或q = *a;
含义:定义了一个指针变量,该指针变量指向一个长度为常量表达式值的一维数组
例如:int (*q)[4];
定义了一个指针变量q,他指向一个长度为4的整型数组,此时,q的值是该一维数组的起始地址,而不是该一维数组的第一个元素的地址。
有二维数组:
int a[3][4];
若有:int (*q)[4];
使q指向二维数组第0行的赋值语句是:q = a;或q=&a[0];
使q指向二维数组第i行的赋值语句是:q = a+i;或q=&a[i];
在此前提下:二维数组元素a[i][j]可以采用 *(*q+j)引用。
若有:int *q ;
使q指向二维数组第一行第一个元素的赋值语句是q = a[0];或q = *a;
继续查找其他问题的答案?
相关视频回答
回复(0)
点击加载更多评论>>