c语言二维数组的长度
㈠ c语言如何定义二维数组
二维数组定义的一般形式是:
dataType arrayName[length1][length2];
其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。
例如:
int a[3][4];
定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
㈡ c语言中数组长度怎么设置
定义数组时在中括号内写上代表长度的数字,定义一维数组和二维数组是一样的。
注意长度是直接用数字大小来代表,而索引时是从0开始算的!
例如:
#include<stdio.h>
main(){
int a[5];//定义一个长度为5的一维数组a
int b[5][6];//定义一个5行6列的二维数组b
}
在定义数组时可以不定义长度,可以由编译器来决定,只要在定义时赋值就可以了,这时括号内可以不写数值。
例如:
#include<stdio.h>
main(){
int a[] = {0,1,2,3,4};//定义一个长度为5的数组,内容为0,1,2,3,4
}
㈢ C语言二维数组
c[][1]={1,2,3}; 根据初始化的数据,得出这个数组 有3行,每行1列。
等价于声明了: c[3][1];
所以 语句 要 用 for (x=0;x<3;x++) for (y=0;y<1;y++) { 来输出 c[x][y] }
而你用 了 y<3, 所以错了,
有c[0][0], 没有 c[0][1], 没有 c[0][2],
有c[1][0], 没有 c[1][1], 没有 c[1][2],
有c[2][0], 没有 c[2][1], 没有 c[2][2].
㈣ C语言中有什么函数能求一个二维数组的一维数组的长度
你要了解二维数组其实是模拟一维数组的,因为计算机的储存机制是一维的.charstr[20][50],这样其实是定义了20组一维数组,其中每组又含有50个char型变量的数组.
你用strlen(str)是不行的.这是求一个字符串有多少个字符的.
应该用sizeof(str); 这样就可以求出一共有20*50 = 1000个char型的元素的数组了.
如果shisizeof(str[20]);这样就是求出每组一共有50个char型元素的数组.