c语言数组定义?
1、一维数组
定义公式:类型说明符 数组名[常量表达式];
注意:常量表达式包括常量与符号常量,不能包含变量。
例如:
int a[5];
char c[3];
上面的示例中,定义了一个int整型数组,数组名为a,定义的数组称为数组 a。还定义了一个字符类型的数组,数组名为c,定义的数组称为数组 c。
此时数组 a 中有 5 个元素,每个元素都是 int 型变量;数组c中有 3 个元素,每个元素都是 char 型变量。
说明:数组名除了表示该数组之外,还表示该数组的首地址。数组中的元素在内存中的地址是连续分配的。
下面我们来看看C语言定义和初始化一维数组的几种形式:
示例1:整型数组的定义和初始化
int a[5] = {1, 2, 3, 4, 5};
int arr[] = {1,2,4};
int arr[10] = {1,2};
示例2:字符数组的定义和初始化
char str1[5]=“hello”; //定义数组长度:30
char str1[30] = { 'L', 'e', 't', '\'', 's',' ', 'g', 'o', '\0' }; // 字符串长度:8;数组长度:30
char str1[30] = "Let's go"; // 字符串长度:8;数组长度:30
char str2[] = " to London!"; // 字符串长度:11 (注意开头的空格);数组长度:12
2、二维数组
定义公式:类型说明符 数组名[常量表达式][常量表达式];
例如:
int a[3][4];
char c[3][10];
怎么定义一个空的二维数组?
初始化二维数组可以试试
char q[3][3]={{0}};
或者
#include
输出没有很好的方法,你可以封装一个函数。以后都用这个函数输出。
function printArray2(arr, row, col)
{
for(int i=0; i
for(int j=0; j
printf("%c",arr[i][j]);
}
printf("\n");
}
}
c语言中二维数组哪个是行,哪个是列?
二维数组的第一个参数是行,第二个参数是列。
二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2],其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。
在C语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为int类型,该类型占两个字节的内存空间,所以每个元素均占有两个字节。
C语言二维数组定义赋值问题。像a选项中,大括号里面又一个大括号,是指数组a的第一行全为“1”吗?
二维数组是由一维数组延伸而来的,每个二维数组可以看作是若干个一维数组组成的数组,二位数组的每一行可以看作是一个一维数组,而大括号里的大括号就是用于把一个个一维数组标志出来,若整个数组在定义的时候没有初始化(首次赋值),那么每个数组的每个元素的值在赋值以前都是不确定的;如果数组在定义时给部分元素初始化了,那么没有赋值的元素将自动赋值为0。这里,A选项定义了一个二维数组并未它的第一维、第二维的首个元素分别赋值为1和2,那么剩余的两个则自动赋值为0,即:
a[0][0]=1;a[0][1]=0;
a[1][0]=2;a[1][1]=0;