假如定义一个二维数组..
int a[3][2];
a+1等价于a[1],a[1][0]的地址,对吧!
a[1]等价于*(a+1),对吧!
那这样的话.不就相当于 a+1等价于*(a+1) ?
这个怎么解释啊!高手请指教!
不好意思.我说清楚一点.我说的是a+1等价于a[1],不是等价于a[1]的地址....那位朋友.你说a+1等价于&a[1],不等价于a[1], 这个应该不对吧...a+1是第二行的首地址..而a是二维数组.所以第二行的首地址也可以表示为a[1],不是吗?
谁说a[1]不等价于*(a+1)?书上有这样一句话,"在C语言中,有一个等式永远成立,即a[i]无条件等价于*(a+i)”!你说*(a+i)得到的是一个值,那是一维数组。我是说二维数组。。。。
关于二维数组中的一个问题...高手进!
就数值而言,二者是相等的,但是二者的类型不一致,这点也是必须承认的.a+1是&a[1],是a[1]的地址,而*(a+1)是a[1],是a[1][0]的地址,因为二者都在数组a[][]的首位置,数值必然是相等的,但是很明显,a[1]和a[1][0]类型是不一样的.换个角度:int i = 0;int *p = 0;那么,能说p等...
VB二维数组问题~ 求高手。(追分!!!)
看样子,你用的是vb6,你可以把输出用的语句 Print h(j, k) 后面加一个逗号。Print h(j, k),这样就可以打印出矩形解构了。也可以用如下写法,可能好一点儿 Print h(j, k) + space(1);
C语言二维数组问题
1、name[NUM][10]表示NUM(10)行10列的数组,NUM表示10个人,后面的10表示姓名字符串的长度(最长为9,后面系统自动加上'\\0')2、不能用一维数组定义姓名,因为是字符类型的数组,姓名中包含多个字符。一维数组只能保存一个姓名。3、stmp是一维数组,保存一个字符串的。不是用来保存10个人的姓名,...
java关于二维数组的问题。
第一轮大循环:i 取值为0时,j取值0,1,2,则打印:arr[0][0],arr[1][0],arr[2][0]即: 1,4,7 由此推导:i取值1,2时打印内容为:2,5,8 3,6,9 最后应该打印出两个矩阵:123 456 789 147 258 369 Right?
一个关于C语言中二维数组的问题(如何判断数组中的数全为1?)
最直接的办法就是调用函数,将该数组作为实参传递,然后在函数中定义一个变量flag作为标记,用循环遍历这个二维数组 如果数组元素为1则将flag置为1继续扫描,否则置为0并退出循环 返回flag,flag为1则表示数组元素全为1,否则不全为1
C语言的二维数组问题
所以定位一个m行n列的二维数组中的某个元素的位置,可以使用线性下标来访问 比如a[i][j]在一个n列的二维数组里的位置就是i*n+j 拿刚才那个例子来看 a[0][0]就是0*2+0 = 0,相当于一维数组的第1个元素 a[1][0]就是1*2+0 = 2,相当于一维数组的第3个元素 所以第i行j列的元素...
指针指向二维数组的问题
但是没有a+3,就没有给p+3赋值,那么p[3]应该是指向数组后面的一块内存,但并不属于数组!我想暂时只能这么理解下吧!但还是有很多矛盾,之一是a 和a[0]内容和地址都相同,为什么p=a改成p=a[0],就报错呢!我也只是初学者,带着同样的困惑发表点意见,让高手们见到,不免贻笑大方!朋友,一...
关于二维数组的c语言题目
二维数组是可以这样的{ {1 2 3} {4 5 6} {7 8 9} } 即a[0][0] = 1 a[1][1] = 5 a[2][2] = 9 由b+=a[i][i]可知相加而得 15
二维数组 长度定义 高手进!!!
if(line>MAX||column>MAX) {cout<<"输入的数据太大!\\n";exit(1);} \/\/处于安全考虑不省略为好!cout<<"请输入"<<line<<"行"<<column<<"列数据:"<<endl;sum=line*column;\/\/数组元素个数总和 for(int i=0;i<line;i++)for(int j=0;j<column;j++)cin>>a[i][j];for(i=0;...
c语言二维数组应用冒泡排序问题```高手来
老兄我终于帮你做好了,害得我课都没有去上,所以要给我加分哦!!!下面的程序非常的智能化了,并且已经成功通过。include<stdio.h> void main(){ int a[2][4],b[2][4];int i,j,t;printf("input 10 numbers:\\n");for(i=0;i<2;i++)for(j=0;j<4;j++)scanf("%d",&a[i]...