在前两节中,叙述了一维数组和字符型数组,本节讲述二维数组。
二维数组的语法如下
类型说明符 数组名 [ ][ ] 。(此处方框号只做类型说明,表示其是个数组,而不是下标运算符)。方括号中填写整形表达式,可以是变量也可以是常量。
如 a[3][4],表示其是一个三行四列的二维数组。
但可以换个理解,a中有三个元素,每个元素都是长度为4的一维数组
二维数组赋值中的{}是可以省略的,但其中是有区别的
如:a[3][4] = {{1,2,3,4},{5,6,7},{8,9,10,11},我们知道当数组赋值个数少于数组的元素个数,会补零
所以它的遍历结果是:
1 | 2 | 3 | 4 |
5 | 6 | 7 | 0 |
8 | 9 | 10 | 11 |
但当{}被省略
如a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,},它的遍历结果是:
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 0 |
前一个[ ]代表行数,后一个[ ]表示列数,只有前一个[ ]中的行数能被省略。
下面是一些例题:
计算二维数组边框的值:
使二维整形数组水平逆向:
使字符型数组垂直逆向:
字符型数组排序:
二、函数
一个C语言程序可以由一个主函数和若干个其他函数组成,主函数可以调用其他函数,其他函数也可以调用其他函数
主函数写在其他函数之后,所以主函数是程序的入口,函数的调用可以提高代码的复用性,降低程序的耦合性,简单的说就是善于用于函数,以减少程序的重复编写。
在C语言中,函数参数用于传递值,函数的值指返回值 ,表示输出结果,函数调用通过函数名和参数列表实现具体操作。
1、函数参数:
函数参数时函数声明时定义变量,用于接收外部数据。这些参数分为形式参数(在函数定义中声明)和实际参数(在函数调用时传递的值)。
2、函数的值(返回值)
函数的值通过 return 语句指定,表示函数执行的结果。返回值可以时基本数据类型或指针,必须在函数声明中使用返回类型指定(int fun (),return不能返回9.9,因为类型指定为整形)。
3、函数的调用:
进行函数的调用,通过函数名(参数列表)格式执行,触发函数体的代码执行。
编写函数其形式:
类型标识符 函数名(形式参数列表)
{ 声明部分,语句部分}
在编写第一个函数使用标识符时,在第二个函数也可以使用该标识符,因为它们只在自己的作用域内有效。
以下是几个例题
比如
int add(int a,int b)
{
return a + b;
}
int main(void)
{
int sum;
sum = add(3,5)
printf("%d\n",sum);
}
就会将返回值8赋值给sum
再如:当给出指定年份区间,找出该区间所有的闰年年份: