嵌入式开发学习日志(goto,循环嵌套辅助语句,一维数组) day7 持续更新中

📅 2026/7/29 5:55:49
嵌入式开发学习日志(goto,循环嵌套辅助语句,一维数组) day7 持续更新中
一、goto 语句定义goto 语句无条件跳转语句语法格式goto 标签语句;标签语句遵循 C 语言标识符命名规则。使用特点goto 搭配if条件判断可以实现循环。 示例结构label: if (i 100) { sum i; i; goto label; } printf(sum %d\n, sum);注意事项goto 无条件跳转容易造成程序逻辑混乱、代码可读性差开发中尽量少使用。二、循环嵌套执行流程外层循环执行一次内层循环完整执行一轮。三、循环辅助语句1. break循环断路语句跳出当前整个循环。多层循环嵌套场景下break 仅跳出当前所在一层循环。2. continue循环短路语句跳出本次循环直接执行下一次循环。遇到 continue 后本次循环体内 continue 后续代码不会执行。3. return跳出当前整个函数。若 return 写在 main 函数中执行 return 会直接结束整个程序。四、一维数组数组作用保存多个数据类型相同的数据。1. 数组基础1.1 数组定义语法类型说明符 数组名[常量];类型说明符基础数据类型、构造数据类型不能为 void代表数组内元素的数据类型数组名遵循标识符命名规则常量数组能够存储的元素总个数示例int a[10]; // sizeof(a) 40字节 char str[32]; // sizeof(str) 32字节 float array[5];// sizeof(array)20字节简化定义形式类型说明符 数组名[] {值1, 值2};[]内省略元素个数时必须进行初始化数组长度由初始化元素数量决定。1.2 数组元素访问语法数组名[下标];[]下标运算符下标取值范围0 ~ 元素个数-1下标支持常量、变量、表达式运算结果必须为整形注意下标超出合法范围会发生数组越界访问数组名代表数组整体类型不能直接给数组名赋值。2. 数组的初始化局部数组不初始化时内部默认存储随机值。全部初始化int a[10] {1,2,3,3,4,5,6,7,8,9,0};局部初始化int a[10] {1,2,3,4,5};规则已初始化元素按给定数值存储未初始化元素自动填充0。 3.快速初始化为全 0int a[10] {0,0,0,0,0,0,0,0,0,0}; int a[10] {0}; // 简写形式3. 数组的存储形式单一性数组内所有元素数据类型完全一致有序性元素按照a[0]~a[n]顺序存放连续性数组在内存中占用一块连续的内存空间。4. 数组越界两种越界场景数组初始化时初始化元素总数超过数组定义长度访问数组元素时下标超出合法访问范围。