88问答网
所有问题
当前搜索:
指向二维数组元素的指针
请问二级指针,
二维数组
,
数组指针的
区别
答:
二维数组
:int arr[4][5]; //定义了一个4行5列的
数组数组
指针:
指向数组的指针
。int arr[4][5];int (*p)[5]; //指针p是指向数组的指针,你可以理解为指针p是二维数组的行指针。p=arr;还有一种就是
指针数组
,即
数组元素
都是指针变量int *p[5];int **q;q=p; //二级指针q指向了...
C语言怎么用
指针
代替
二维数组
答:
1.设p是
指向二维数组
a[m][n]
的指针
变量,则有:int* p=a[0];//此时P是指向一维数组的指针。P++后,p指向 a[0][1]。2.如果定义int (*p1)[n];p1=a;p1++后,p1指向a[1][0];则p+j将指向a[0]数组中的
元素
a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则...
指针指向二维数组的
问题
答:
那么p[3]应该是
指向数组
后面的一块内存,但并不属于数组!我想暂时只能这么理解下吧!但还是有很多矛盾,之一是a 和a[0]内容和地址都相同,为什么p=a改成p=a[0],就报错呢!我也只是初学者,带着同样的困惑发表点意见,让高手们见到,不免贻笑大方!朋友,一起女里学习吧!也许眼界宽了,这些...
C语言怎么定义一个字符
指针指向
一个
二维
字符
数组的
首地址
答:
二维数组也是“数组的数组”所以定义一个指向由m个
元素
组成的一维
数组指针
即可
指向二维数组的
首元素地址。如:char arr[2][2] = { { 'a', 'b' }, { 'c', 'd' } };char (*p)[2];p=arr; // p指向首元素地址。char c = *(p[0]+ 1);// 指向0行1列 即字符b ...
用
指针
调用
二维数组
里的
元素
所用两个* 表示的意义
答:
这样,一个二级
指针
就出来了,再通过合理的规划这些格子里的内容什么样的数据结构都可以实现,包括这个简简单单的
二维数组
。再拿上面的例子:a:
指向
编号1的格子 a+1:编号1的格子的下一个格子就是编号2的格子 (a+1):取编号为2的格子里内容 6 (a+1)+1:上面的6号格子的下一个格子也就是...
数组指针的指向
一维数组和
二维数组的
区别
答:
0]的首地址。p+1,a+1,&a[1]均指向1号
元素
a[1]。类推可知a+i,a+i,&a[i]。例子:main(){inta[5],i,*pa;pa=a;for(i=0;i<5;i++){*pa=i;pa++;}pa=a;for(i=0;i<5;i++){printf(a[%d]=%d\n,i,*pa);pa++;}}二、
指向二维数组的指针
变量设一维数组为a[m][n]...
普通
的指针
变量可以
指向二维数组
吗?
答:
int a[4][5];int (*p)[5]p=a 这里的p即为a[4]的首地址,也就是说p
指向
了4*5的数组,
指针
里的5表示第二维度数组的长度即第一行数据的个数,如果b中int (*p)[<5],则会不够存储A中数组第二维度的长度,就会出错。最终存储的
二维数组
将会全部展开成一维数组,所以你直接申明int *p 指向...
指针数组
和
数组指针
(行指针)有什么区别?
答:
数组指针
(行指针)全称是
二维数组的指针
,只能操作二维数组,又因为操作二维数组是以行为单位,所以又名行指针,如(*a)[3]是指一个每行有3个
元素的二维数组
,即3列,行数未定
指针数组
是一个数组里面的所有元素都为指针,如*a[3]是将*a[0]、*a[1]、*a[2]这三个指针打包用数组存放,相当...
c语言中
二维数组的指针
如何表示
答:
int **p;或者 int p[MAX_ROW][MAX_LINE];不同的是前者定义了一个int型
二维数组的指针
,编写器知道该指针的移动方式以int为单位,但此时该指针为NULL,即没有与内存中的物理单元进行对应。使用指针前需要用malloc()为该指针分配一段内存空间,内存空间的大小在malloc()的参数中指定,系统会为该指针...
一个指向一维
数组的指针
,为什么可以
指向二维数组
?
答:
二维数组
下标代表的是行和列的个数。int (*p)[3]; 这里是用指针的形式 声明一个新的数组,p = a; 这里把a数组的首
元素
地址赋给
指针数组
,此时新声明
的指针
数组就
指向
了a数组,*p就等于a[0];所以 (*p)[2]等价于a[2] = 3;一维数组下标为二的元素 ...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜