一维数组和二维数组
一维数组:
定义一个一维数组的语法结构> 类型名 数组名[整形常量表达式]
例:
int arr[10];//数组里有十个元素
int arr[]={0};//数组的元素都为零,元素个数不确定
int arr[5]={1,2,3,4,5}; //定义5个元素,1、2、3、4、5
数组下标从零开始,例如arr[5]={1,2,3,4,5};arr[0]=1,arr[1]=2,arr[2]=3,arr[3]=4,arr[4]=5。
定义一个一维字符数组的格式> char 数组名[常量表达式];
例如:char str[20]
采用%s格式调用scanf函数是,在程序运行过程中输入字符串是,字符串不能包含有空格符、跳格符(Tab)、回车符。这些字符都会被系统认为字符串输入已经结束。要输入这些字符,需要调用其他输入函数,比如gets或fgets。(对应的输出函数为puts和fputs)。但不提倡用gets,而提倡用fgets函数。(puts和fputs只能输出字符串)
字符数组名出现在scanf的输出参数中,不必使用取地址符号(&)
在对字符串(或字符型数组)操作时,最好调用库函数
string.h(头文件),最常用的库函数如下:
- 字符串复制:strcpy()
- 求字符串的长度:strlen()
- 比较两个字符串的大小:strcmp()
二维数组
定义:类型名 数组名[常量或常量标的式1][常量或常量表达式2];
例如:
int arr[2][3];//表示这个二维数组有2行,3列
int arr[2][3]={{1,2,3},{4,5,6}};
int arr[2][3]={1,2,3,4,5,6};
二维数组在定义时,行可以没有,列必须有.( arr[][3])
二维数组的数组名表示第一行数组。
sizeof(数组名)—数组的大小,数组名表示整个数组,单位是字节!
&数组名—数组名也表示整个数组,取出的是数组地址