99问答网
所有问题
当前搜索:
指针表示二维数组的方式
二维数组
和
指针的
一个疑问。
答:
a是一个二级
指针
,也成为行指针。它是一个常量指针。对a操作就使指针指向其他行。比如a+1就指向了第一行。a是一级指针,(a+1)是第一行首个元素的地址,相当于于a[1]。a是内容。(*(a+1)+1)是第一行第一个元素,相当于a[1][1]。这里a与*a相同,可以类比为一个函数int max()和一个...
C语言
二维数组的
地址为什么 不可以赋值给
指针
变量?
答:
一维数组名a
表示
其首地址,
指针
类型是(int *)。
二维数组
名d表示其行指针,指针类型是(int (*)[7])。所以你要定义指针去用二维数组名赋值,需要定义指针int (*k)[7];不是int *k。或者你把二维数组当成一维数组来看(二维内部地址是连续的,和一维一样),这样int *k;k=&d[0][0];之后...
关于多维
数组的指针
的疑问
答:
这就是说
二维数组的
行地址与列地址的问题。对于二维数组有行地址与列地址与具体元素,行地址--列地址---具体元素,他们的级别依次递减,a[3][3],如果要声明一个
指针
指向数组a,应该是 int p,或者是(*p)[3],第一个是声明一个二级指针因为2维数组的数组名是一个2级指针,第二个是声明一个指向...
在
二维数组
中,行指针是指向一维
数组的指针
变量.
答:
type (*)[n] 是行指针类型格式,方括号内的n就是指示行宽,因此行指针不是简单的一维
数组指针
,而是被限定宽度的一维数组指针,这就是区别。归纳一下 一维数组指针定义格式:type *p
二维数组
行指针定义格式:type (*p)[n]另外 一维数组指针加一,是递增一个type宽度,二维数组行指针加一,是递增 ...
C语言、
二维数组指针
中的 * 和 &
答:
不难理解,这
代表的
是第i行的首地址,也就是第i行的第一个元素的地址,如书所说,a+i,a[i],&a[i][0]的值是一样的,还有一个是*(a+i),这个就需要转转脑筋了,
二维数组
用指针怎么
表示
?用
二维指针
即:**a,那么a[3][4]这个数据(注意是一个数值)用指针怎么表示呢?*(*(a+3)+...
用
指针
调用
二维数组
里的元素 所用两个*
表示的
意义
答:
这样,一个二级
指针
就出来了,再通过合理的规划这些格子里的内容什么样的数据结构都可以实现,包括这个简简单单的
二维数组
。再拿上面的例子:a:指向编号1的格子 a+1:编号1的格子的下一个格子就是编号2的格子 (a+1):取编号为2的格子里内容 6 (a+1)+1:上面的6号格子的下一个格子也就是...
int **x是怎样声明的
二维数组
,具体解释一下
答:
int **x;
表示
定义一个
二维指针
。如果想动态分配
二维数组
,需要先分配行
指针数组
,再对每行进行数组分配,参考代码如下:include <stdio.h>#include <stdlib.h> //malloc needvoid main(){ int **x; int i,j; x=(int **)malloc(sizeof(int*) * 10 ); //分配10指向10个int*...
c语言中如何通过二级
指针
来操作
二维数组
答:
1、首先我们打开电脑里的C语言软件,新建一个工程和.c文件,输入头文件和主函数。2、然后我们输入图示代码初始化数组,定义变量类型。3、然后我们输入图示代码用for语句实现
数组的
访问。4、然后我们输入图示代码进行输出。5、然后我们输入图示代码编译、运行,即可通过二级
指针
来操作
二维数组
。
C++
二维数组的指针表示
为什么要加括号
答:
其实要看懂可以令 a=*p ;即 Int a[4]; a 是
数组
类型 ,而a=*p可以等价写成&a=p;也就是p是指向int数组类型的
指针
如果不加括号,*默认会与前面的类型int结合,也就是int*p[4]
C 语言
指针的指针
和
二维数组的
区别?
答:
指针的指针
和
二维数组
完全俩东西,二维数组是 一维
数组的
一维数组,元素是数组,所以可以隐式转化为int (*)[3],跟int **两回事,扩展到更多维或其它类型也是成立的,只能隐式转化为第一维的元素的指针 补充说明下隐式转化为指针,简单说就是这样(T是任意类型)设有一个数组T a[10];a的类型是“...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜