数组a[1][1]是什么意思

作者&投稿:禤荆 (若有异议请与网页底部的电邮联系)
C语言中a[[1]]是什么意思~

你肯定是打错了,c语言中没有[[1]]这种符号,一定会报错。你是指a[][1]吗?a[]是a[]比a少一维,我具体给你解释下。
几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。
比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。
假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。
再说说你给的程序,你是不是在疑问为什么gets()直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?
这得给存储方式有关,字符串就是字符的二维数组,gets()需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf()了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf()之前你学的一般都是(printf("%d",a[1]));这种类型的。这里为啥要填一个地址参数呢?这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从哪里开始,从哪里结束了。
纯手打,望采纳。

是地址。比如说是字符类型a[][],可以看成是第二字符串的第一个字符的地址,++a[1]表示第二字字符的地址。相当于一维数组的a。

二维数组
你可以理解为a这个二维数组中1号行、1号列对应的那个数据。

==================================================
a[0][0] a[0][1] a[1][0] a[1][1]
把第一个括号中的数字理解为对应的行号,第二个括号里的数字理解为对应的列号,行列号相交的焦点上存储的数值就是结果。

=====================================================
问题补充:

那么a[0][0]不是表示第一行第一列的数据吗 那为什么说a[1][1]是第一行第一列的数据?

括号中的数字只是一个标号,并不代表数字是多少就是第几行几列,你看我前面给你的回答是“1号行、1号列”,不是“第1行第1列”。
一般数组定义如果没有特别定义,默认为从0开始计数,你问题中没有说明数组定义,我无法判断你是否自定义了起始下标,所以告诉你是标号为[X]的行和标号为[X]的列。

取决于a的定义,如果a的定义是二维数组,那a[1][1]就是a中第一行第一列的元素值;
另外,c和c++中的数组,起始地址都是0,即a[0][0]也是正确的用法。。。。。。

如果是定义数组比如int a[1][1],那么是指x*x的数组
如果在函数里比如c=a[1][1],a[1][1]表示定义的a[x][x]数组中第2行第2个元素

a[] 一维数组 有一个下标。
a[][] 二维数组 有两个下标。
下标是用来定位数组内元素的,当然,二维数组要用二个下标来定位。
那么a[0][0]表示第0行第0列的数据

如果你定义一个这样数组数
int a[1][1]
表示定义个一个只有一行,一行只有一个元素的数组,所以就只有一个元素


{ int a[3][3] = {{1,2},{3,4},{5,6}}, i,j,s = 0;
a[0][0]=1,a[0][1]=2,a[0][3]=0,a[1][0]=3,a[1][1]=4,a[1][2]=0,a[2][0]=5,a[2][1]=6,a[2][2]=0,需要说明的是,只有在调试环境中debug运行才能保证没有赋值的数组元素取值是0,否则它们的值无法确认 s+=a[i][j];是个累加,s初始值是0,那么分析...

下列能够正确表示数组元素a[1][2]的表达式是
D 两个知识点:1、二维数组的数组名,可以看作类型是指向第二维子数组的指针,比如int a[4][3];a的类型是int (*)[3],即指向int [3]数组的指针。2、p[i]等价于*(p+i)。由这两点可知,int (*prt)[3]=a的话,prt和a在使用上就是一样的了。a[1][2]就是ptr[1][2],利用知识点...

C语言二维数组定义是什么,然后int a[1][2]是代表什么意思?怎么用这个二 ...
[常量表达式2]int a[1][2]的意思是,定义了一个int类型的,数组名为a的,具有1行2列的数组 你可以把这个二维数组想像成一个表格,这个表格有1行2列,每个格子中可以放入一个int型数据。数组使用就是用数组下标来访问数组中的元素,比如a[0][1]=5,就是把第1行的第2个元素赋值为5。

...#include<stdio.h> main() {int a[3][3]={{1,2,3},{4,5,6},{7...
include <stdio.h> int main (){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};for (i=1;i<3;i++)for(j=i;j<3;j++) printf("%d",a[i][j]);printf("\\n");} 数组a[][3]是由a[0][0]~a[2][2]组成的,第一层循环取 i 为1,而j等于i开始就是a[1][1]=5,...

数组定义为"int a[4][5];",引用"a[1]+3"表示
&a[1][3]数组中的元素存储在一个连续性的内存块中,并通过索引来访问。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。

c语言 为什么a[i][j]=i+j 里 i+j是怎么来的 还有a[i]+[j]=i*n+j+1...
打个比方,你有如下的数组:a[2][3] = {11,22,33,44,55,66};这里的数组 a表示数组的数组,也就是数组中的元素也是数组,因此形成了一个两个纬度的数组—二维数组。访问元素的时候:a[1][2]就表示第二个元素的最后一个元素也就是66,因此a[0][2]就表示第一个元素的最后也就是33,所以...

请问:二维数组a[4][5]={{1,2,3},{3,2,1,6},{1}}中元素a[2][2]的值是
{1,2,3,0,0} 这是第一行的元素 {3,2,1,6,0}这是第二行的元素 {1,0,0,0,0}这是第三行的元素a[2][2]为0,第二行第二列的元素 {0}这是第四行的元素

二维数组A[9][10],每个元素占两个字节,下标从1开始。A的首地址为...
从A[1][1]到A[8][5]的偏移量为“7行4列”每行占10×2=20个字节 每个元素占2个字节 总偏移量=7×20+4×2=140+8=148字节 因首地址=P0 A[8][5]的物理地址=P0+148

设int a[ ] [4]={1,2,3,4,5,6,7};,则a [1] [3]的值是
int a[ ] [4]={1,2,3,4,5,6,7};即a是一个二维数组,第二维长度4,初始化时每4个整数用来填充一个第一维度 所以a[0][0]=1,a[0][1]=2,a[0][2]=3,a[0][3]=4 a[1][0]=5,a[1][1]=6,a[1][2]=7,a[1][3]无初始值 不过,由于编译器会自动为基础数据类型赋...

int k,a[3][3]={1,2,3,4,5,6,7,8,9};
这个二维数组有3行、3列,可以看作 1 2 3 4 5 6 7 8 9 下面分析输出情况,k = 0时,2 - k = 2,输出a[0][2],就是3 k = 1时,2 - k = 1,输出a[1][1],就是5 k = 2时,2 - k = 0,输出a[2][0],就是7 可以看出,代码输出的是二维数组辅对角线的元素。

和静县13442379135: javascript数组中这种表示方法,是什么意思? -
解孟派斯: 逗号运算符使它两边的表达式以从左到右的顺序被执行,并获得右边表达式的值 所以a[1,1]实际上就是a[1],第一个1没有任何作用.当然a[1][1]和a[1]完全不同了 最常见的逗号是在for循环中使用 for (i = 0; i { k = i + j; } 每次通过循环的末端时, for 语句只允许单个表达式被执行., 运算符被用来允许多个表达式被当作单个表达式,从而规避该限制.

和静县13442379135: 矩阵A(:,:,1)中的1是什么意思? -
解孟派斯: A(:,:,1)是一个三维数组 括号里逗号分隔开来分别表示这三维 你可以依次理解为,行,列,层, 如果A已经定义好了,那么A(1,1,1)表示第1行,第1列,第1层的元素.A(:,:,1)表示第1层的所有行,所有列元素.就是一个二维的数组.

和静县13442379135: C语言:二位数组中*(a[1]+1)是怎样等于a[1][1]的? -
解孟派斯: 二维数组是一维数组的数组,对二维数组a来说,它的元素a[1]就是下标为1的一行数据,是个一维数组,而a[1]作为这个一维数组的名字,其实就是指向数组第一个元素的指针,即这一行的首地址.a[1]+1即a[1][1]的地址,因此*(a[1]+1)即间接访问a[1][1].如果不能理解,不妨把a[1]想成另一个名字,例如b.*(b+1)即b[1],肯定是好理解的.

和静县13442379135: vf中dime a(1,1)什么意思 -
解孟派斯: 定义一个一行一列的二维数组,数组名为a,数组元素只有a(1,1)

和静县13442379135: C中2维数组 *(a+1) 代表什么 -
解孟派斯: 数组名a表示数组a的首地址, 是a[]的首地址, 同时也是a[][]的首地址. *(a+1)是把a看作是一维的数组, 它其中每个元素也是一个一维数组. 所以*(a+1)就是这个总的一维数组的第二个元素, 也就是二维数组的第二行. 而*(a+1)本身又是一个数组, 它指向这个数组的首地址. 综上所述, *(a+1)是这个二维数组的第1行的第0个元素.

和静县13442379135: C语言中a[++i]=是什么意思? -
解孟派斯: a[]指的是数组,在括号里的,是一个自增自减运算符. 如果让i等于3,a[++i]的结果是a[4]. 但如果是a[i++].那么结果是a[3]. 第一个式子,是在本身这个语句中i的值加一,然后再运算. 而第二个式子,是用其本身的值去运算,然后再下一个句子的时...

和静县13442379135: c语言int a[10] 10是什么意思 -
解孟派斯: inta表示a这个变量是整型,只能存放整数. inta【10】【10】 指的是代表a的二维数组,是指向一个有十个元素的数组的指针,或者说a是具有十个元素的数组的首元素的地址,这十个元素,每个元素都是一个数组. 扩展资料 在C语言的定义...

和静县13442379135: c语言数组中a[i]=i是什么意思 -
解孟派斯: 第一次循环:a[0]=0; 第二次循环:a[1]=1; ............................... 一直到第9次循环:a[9]=9; 就是这么简单的给数组赋值!

和静县13442379135: int A[5][6]是什么意思? -
解孟派斯: 这是一个 不规则的2维整型数组他的意思是 A数组中有5个元素..其中每个元素又有6个元素排出来是这样的0 0 0 0 0 01 1 1 1 1 12 2 2 2 2 23 3 3 3 3 3...

和静县13442379135: matlab a(:,:,1)是什么意思 -
解孟派斯: a这是是一个三维矩阵,a(:,:,1)表示取a矩阵第一页的所有行和列. 三维矩阵中第一维为行,第二维为列,第三维为页; matlab中矩阵用:表示取该维度的所有下标值.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网