一、二维字符型数组
1. 概念与定义
-
二维字符型数组本质上是“一维字符数组的数组”,用于存储多个字符串。
-
定义格式:
char 数组名[行数][列数];
-
行数:表示字符串的个数。
-
列数:表示每个字符串的最大长度(需包含结束符 \\0)。
-
2. 初始化方式
-
局部初始化:未赋初值的元素自动初始化为 \\0。
char str[3][10] = {"hello", "world", "test"};
-
逐行初始化:可显式指定每行内容。
char str[2][6] = {{'h','e','l','l','o','\\0'}, {'w','o','r','l','d','\\0'}};
-
默认初始化:行数可省略,列数不可省略。
char str[][10] = {"C", "Java", "Python"};
3. 内存存储特性
-
连续性:所有元素在内存中连续存放。
-
有序性:按行优先顺序存储,即先存第一行所有字符,再存第二行,依此类推。
-
可通过计算 sizeof(数组名) 获取总字节数。
-
二维字符型数组冒泡排序

二、函数
1. 函数的基本形式
-
函数定义:
返回类型 函数名(参数列表) {
函数体;
return 返回值;
} -
函数调用:
函数名(实参列表);
-
函数声明:若函数定义在调用之后,需提前声明。
返回类型 函数名(参数列表);
2. 变量的作用域与生命周期
-
局部变量:作用域限于定义它的代码块内,生命周期随代码块结束而结束。
-
全局变量:作用域覆盖整个程序,生命周期从程序启动到结束。
-
变量隐藏:局部变量可与全局变量同名,在局部作用域内优先使用局部变量。
3. 存储类型
| auto | 自动变量(默认) | 存储在栈区,未初始化则为随机值 |
| register | 寄存器变量 | 建议编译器将变量存于寄存器 |
| extern | 外部变量声明 | 用于引用其他文件中定义的全局变量 |
| static | 静态变量 | 延长生命周期,限制作用域仅限本文件 |
调用函数

今日练习
1.从终端接收两个字符串,打印出两个字符串比较的结果,相等打印0,第一个大于第二个打印 > 0 第 一个小于第二个打印 < 0(不能使用strcmp)。
2.从终端输入一个年份,封装函数判断该年是否为闰年,如果为闰年返回1,不过不为闰年函数返回0。




网硕互联帮助中心


评论前必须登录!
注册