55问答网
所有问题
当前搜索:
C语言二维数组指针
C语言二维指针
有一个二维指针**a,如何给它赋初值。
答:
不建议直接给指针赋值,除非是NULL;
二维指针
也是指针,如你所写,a只不过是指向另一个指针的指针,归根结底还是指针,不因为它是多维的就会有什么变化;例如:int** a = NULL; //赋初值为空,这样做绝对是好习惯 或者:int a;int* b = &a;int**
c
= &b;再或者就是个
二维数组
:int a[...
C语言
,
二维数组
,
指针
。[Warning] assignment from incompatible pointer...
答:
p=a[0]才正确!a是
二维数组
,相当于
二维指针
a[0]是第一行的地址,int *p,p是一维指针,只有p=a[0]才是合理的!
c语言
小问题,多维
数组
的
指针
没看懂,为什么* a是地址,不是应该是值吗...
答:
比如一个指向
二维数组
的
指针
,它就相当于一个一维数组,其中的每一个元素都指向了一个数组。所以*a的值只是一个指向的一维数组的指针,它的值当然是地址了。。。
在
c语言二维数组
中,a【0】为什么是第一行的第一个元素,列不是不能...
答:
这是错误的认识。在
C语言
中,若a声明为
二维数组
,则a[0]所代表的是一个地址,指向a[0][0]处,而不是元素。
C语言
中的
二维数组
的赋值,输入输出怎么用
答:
代码,实现先输入
二维数组
的行数m和列数n,并再输入m*n个整型数据存到动态二维数组中。最后输出所有二维数组的元素值。int main(){ int**p;//定义
二维指针
。int m,n;//行数和列数。int i,j;scanf("%d%d",&m,&n);//输入行数和列数。if(m<=0||n<=0)return-1;//行数或列数非法...
c语言
编程求找错:求
二维数组
每行元素的平均值。要求用函数和
指针
实现...
答:
直接用a[i][j]最简单,注意s必须每次置零。非要用
指针
的话,应该用一个指向数组的指针,而不是一个装了指针的数组;/*求
二维数组
每行元素的平均值。(要求用函数和指针实现)*/#include<stdio.h>void fun(int a[3][4]){int (*p)[4],i,j;float ave,s;for(i=0;i<3;i++){p=&a...
关于
C语言指针
问题
答:
“用*对它解引用”这句话的意思就是去
指针
代表的这个地址上取里面存放的内容。而pt[0],跟*pt是完全相同的意思,就是去取pt代表的地址上存放的int型数据。你问的内容里p跟上面我说的pt是一种类型,即int *类型。而a由于是
二维数组
,它相当于指向指针的指针,即你去a所指向的地址上取到的数据...
c语言
中
指针
那一章,定义
二维数组
a[5][6],(*p)[6],&a和a有什么区别?能...
答:
a[5][6]你会发现,a, *a, &a的值是相同的,介意义完全不同 首先这个数组是5行6列, 首先要明白a是一个地址,而且是第一列的地址 a+1是第二列的地址,a+2是第三列的地址...a是第一列第一个元素的地址,*a+1第一列第二个元素的地址...&a是整个
二维数组
的地址,&a+1是内存中紧跟...
...编写程序实现功能:设有一个4行4列的
二维数组
date[4][4]
答:
include<stdio.h>#define N 4#define M 4void stat(int date[N][M],int n,int m,int *m,int *s) { int i,j; for ( i=0;i<n;i++ ) { m[i]=s[i]=0; for ( j=0;j<M;j++ ) if ( date[i][j]%2==0 ) { m[i]++; s[i]+=date[i][j]; } }}...
C语言
中
数组指针
关于p=a,p=&a等问题!!
答:
问题1:一维数组名与
二维数组
名含义是不一样的,当然跟你理解的指向行或者列是有一定的偏差的。对于一维数组,比如int a[4],a代表的是int型的指针,其地址指向a[0],对于二维数组比如a[2][4],a代表的是也是指针,只不过不是简单的int型指针,而是你代码中的
数组指针
,它与一维数组中指针的区别...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜