c语言的数组以及简单函数

数组与函数的基本定义

数组

正常数组

数组的四要素

  • 数组名:本质上就是一个标识符常量
  • 元素: 同一个数组中的元素数据类型要相同
  • 下标:数组的索引可以通过下标查找数组里的某一个值 从0开始
  • 数组的长:表示元素的数量

数组的定义

  • 先指定元素类型与个数,后在进行赋值(初始化) int arr[7]; 后面在初始化
  • 指定元素个数与类型,并且进行初始化 int arr[4] = {1,2,3,4};
  • 指定元素类型,并且初始化(不指定长度时,必须在声明时就进行初始化)int arr[] = {1,2,4,5};

数组越界

int arr[4];

for(int i = 0; i <= 4 ;i ++){

printf("%d",arr[i]); 数组的下表是从0开始 当4的时候就越界了,只有4个元素,越界时会得到一个 没有意义的垃圾值

}

数组长度的计算

sizeof 数组名 / 数组名[0]; 用sizeof 求出数组的中字节数出去其中一个元素的字节数

字符数组

字符数组的本质

就是一个char类型的数组,但是最后要加一个结束符号标记 \0,不加的话会出错

假如你要定义一个长度数组要存入8个字符,你的数组长度就要在9或9以上要给结束符号位留位置

如何定义字符数组

  • char arr[6]; 后面在遍历但是只能存入5个字符要留一个符号结束标记
  • char arr[4] = {'t', 'o', 'm'}; // 后面自动添加 \0 错char arr[] = {'j', 'a', 'c', 'k'}; // 不会自动添加 \0
  • char arr[] ="nihao" char arr[] = {"excuse mi"} 这种都会自动加0

Snipaste_2024-04-07_18-12-25.png

多维数组

如何定义多维数组

int a[4][6] = {
    {10, 20, 30, 30, 40, 60},    第一种
    {100, 200, 300, 400, 500, 600},
    {1000, 2000, 3000, 4000, 5000, 6000},
    {10000, 20000, 30000, 40000, 50000, 60000}
};
 
// 定义一个4行6列的二维数组, 会自动匹配到各行各列
int b[4][6] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};


// 如果所赋值的数量可以与元素数量对应,第一维的数组长度可以不给出
int b[][6] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};


数组的内存分析

多维数组在内存中不是以行列的形式存储,是线性存储的

数组的遍历

与一维数组差不多,之不过用俩个for循环变量,外层位表示多少个一维数组,内层表示一维数组的元素

数组的(行和列)怎么求

  • 行 : sizeof arr/sizeof arr[0]
  • 列: sizeof arr[0] / sizeof [0] [0]

函数

函数的基本语法

函数的声明

  • 函数名是标识符
  • 函数体就是大括号里面的
  • 返回值和返回类型,返回值作为函数的计算结果
  • 参数 分为形参和实参

函数的调用

  • 函数名加小括号,表示函数的调用
  • 函数表达式的值是函数的返回值,要是没有返回值的函数则没有值

返回值

  1. 有返回值: 返回类型与return右边表达式的值的类型一致;如果不一致会发生数据类型转换
  2. 没有返回值: ①函数体中没有return语句; ②return的右边是空的; 没有返回值的函数需要指定返回类型为 void
  3. return 除了能够设置函数返回值,还可以结束所在的函数

参数

  • 形参 需要指定的数组类型和参数名 ,可以理解为一个没有值的变量,当别人调用的时候才会给她符实际的值
  • 实际参数 当调用一个函数是传进去的参数,需要和形参的个数和类型一致
posted @   王先生凡凡  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示