云计算百科
云计算领域专业知识百科平台

C语言基础:数组(3)二维字符型数组&函数(1)

一、二维字符型数组

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。

赞(0)
未经允许不得转载:网硕互联帮助中心 » C语言基础:数组(3)二维字符型数组&函数(1)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!