77问答网
所有问题
当前搜索:
二维数组的指针用法
怎么把
数组
赋值给
指针
变量
答:
1. 怎么将一组数组赋值给指针,比如, a[][3]={2,4,5,6,7,8,9,10,11} *p(3)指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念和
使用
上,多维
数组的指针
比一维数组的指针要复杂。1、
二维数组的
地址 二维数组可以理解为一个广义的一维数组,一个以一维数组为元素的一维...
如图,看见别人在c++
中
这样
使用
方括号,请问这是什么
用法
?请解释这段程...
答:
其中A必须是正整数,表示
数组的
某一行,B必须是行指针。这里因为arr是一维数组,&arr就把arr就了
二维数组
指针,1[&arr]就是第1行(从0行起算)下标为0的那个元素
的指针
,实际上就是指向13后面那个元素的指针(虽然越界了,但指针指向一下是安全的,并没有写数据)。那么代码中p从arr开始循环到<1[&...
C语言
二维数组的
地址为什么 不可以赋值给
指针
变量?
答:
二维数组的
数组名和一维数组的数组名不一样。一维数组名a表示其首地址,
指针
类型是(int *)。二维数组名d表示其行指针,指针类型是(int (*)[7])。所以你要定义指针去用二维数组名赋值,需要定义指针int (*k)[7];不是int *k。或者你把二维数组当成一维数组来看(二维内部地址是连续的,和...
二维数组
a的“列
指针
”与“行指针”有什么关系?
答:
——本质上不存在任何区别,n维
数组的
存储空间都是连续的,只不静态声明数组时,编译器帮你生成了根据下表访问特定元素的代码,如a[3][3],
使用
a[1][2]则编译器帮你生成*(a+(3*1)+2)
的指针
访问代码,所以对于
二维数组
,设n,m分别为其一、二维,行指针:a+(n*行数),列指针:a+列数,...
int **x是怎样声明的
二维数组
,具体解释一下
答:
//每行分配一个指向20个int元素
的指针
//接下来就可以象
使用二维数组
一样,使用x了,如: x[0][1]=100; x[1][1]=99; //用完后,释放指针,与申请时的顺序相反 for( i=0;i<10;i++ ) free(x[i]) ; //先释放一级指针 free(x); //再释放二级指针} ...
C语言问题
答:
p[4]是
指针数组
,他是数组。数组里面放的是指针,简单的说定义了4个指针,分别是*p[0] *p[1] *p[2] *p[3],相当于将这四个指针打包到这个数组中 (*p)[4]是
数组指针
,他是指针并且是一个指向
二维数组的指针
。因为以行为单位,又称行指针。通俗点讲,后面的[4]说明他的每行有4个元素...
C语言
中数组指针
关于p=a,p=&a等问题!!
答:
问题1:一维数组名与
二维数组
名含义是不一样的,当然跟你理解的指向行或者列是有一定的偏差的。对于一维数组,比如int a[4],a代表的是int型的指针,其地址指向a[0],对于二维数组比如a[2][4],a代表的是也是指针,只不过不是简单的int型指针,而是你代码中的
数组指针
,它与一维
数组中指针
的区别...
int a[3][4]为什么要用int (*p)[4]而不是int (*p)[3]或int (*p)[5...
答:
int a[3][4]是一个二维数组,可以认为是一个三行四列的平面数组。
二维数组的
每行都是一个一位数组。那么这个二维数组是一个有三个一维数组组成的数组,其中每个一维数组有四个元素。int (*p)[4]的意思是定义一个指向一维
数组的指针
,这个指针指向二维数组的第一行数组的第一个元素,也就是指向了...
int **p怎么指向
二维数组
?
答:
int a[SIZE][SIZE];int **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]。想要指向
二维数组
,必须定义一个指向一维
数组的指针
...
C语言
指针
与
二维数组
求解
答:
这第三句就更简单了,一个简单的赋值语句,把二级
指针
a(也就是
二维数组的
首地址)赋值给p(也是个二级指针)。 第四句就是个输出语句,我们直接看后面的参数,a的值应该是数组的首地址吧,&a好像没这种
用法
,你有见过吗?如果你怀疑编译器会报错的话,你大可一试,至少我在VC6.0上面可以通过。a本身就是个地址,再取...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜