【C】浙江大学程序设计入门——C语言数组与函数【六】

本文介绍了C语言中的数组和函数概念。数组是一种存储相同类型元素的容器,其大小在创建后不可变,元素按顺序存储。数组的访问通过下标进行,需注意防止下标越界。函数则是一段可接收参数、执行特定任务并可能返回值的代码。在C语言中,函数调用只传递值,且每个函数有独立的变量空间。此外,文章还提到了本地变量的作用域和生存期规则,以及二维数组的定义和使用。
摘要由CSDN通过智能技术生成

@【C】浙江大学程序设计入门——C语言数组与函数【六】

数组

定义数组

<类型> 变量名称[元素数量];

int grades[100];
double weight[20];

元素数量必须是整数
C99之前: 元素数量必须是编译时刻确定的字面量(不能是变量)

数组是一种容器(放东西的东西)。特点是:

  • 其中所有的元素具有相同的数据类型
  • 一旦创建,不能改变大小
  • *(数组中的元素在内存中是连续依次排列的)

数组的单元

数组的每一个单元就是数组类型的一个变量
使用数组时放在[]中的数字叫做下标或索引,下标从0开始计数(从C语言开始 才是从0开始的)

有效的下标范围

编译器和运行环境都不会检查数组下标是否越界,无论是对数组单元做都或者写
一旦程序运行,越界的数组访问可能造成问题,导致程序崩溃

  • segmentation fault
    要保证不越界

可以创建长度为0的数组,无意义,会超过有效范围

函数

函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值

函数
函数名(参数值);
()起到了表示函数调用的作用,没有参数也需要()
如果有参数,需要给出正确的数量和顺序
这些值会按照顺序依次初始化函数中的参数
return停止函数的执行,并送回一个值
return;
return 表达式
一个函数可以出现多个return语句,最好要单一出口,尽量别用
函数返回值可以传给变量,也可以再传给函数,也可以丢掉

没有返回值函数

void 函数名(参数表)
不能使用带值的return 可以没有return

函数先后关系

C的编译器自上而下顺序分析你的代码
可以在开头 声明函数,告诉编译器
声明和其后的定义应当相同

在这里插入图片描述

调用函数

C语言在调用函数的时候,只是传值给参数
每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系
过去,对于函数参数表中的参数,叫形参,调用时的值叫实参
在这里插入图片描述
但是 传的是值 而不是变量
在这里插入图片描述

本地变量

函数每次运行,就产生独立的变量空间,这个空间中的变量是函数这次运行独有的,称为本地变量
函数内定义的变量是本地
函数参数也是本地

生存期:什么时候这个变量开始出现,到什么时候消亡
作用域:在代码的什么范围内可以访问这个变量(这个变量可以起作用)
对于本地变量 这两个问题都是在大括号

本地变量的规则:
本地变量是定义在块内的(大括号内,出了他所定义的块就没有了)
在块外定义的变量,在块内仍然存在,在块内定义的同名变量会覆盖外面,出了块以后,块外的同名会恢复
不能在同一个块定义同名变量
本地变量不会被默认初始化
参数在进入函数时会默认初始化

杂事

void f() 在传统C中,代表参数未知
void f(void) 直接声明无参数
C语言不允许函数嵌套定义

二维数组

int a[3][5]
三行五列
a[i][j]是一个int
a[i,j] =a[j]
int a[][5]={}
列数必须给出,行数可以由编译器来数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值