C语言学习06 函数变量,五子棋

这篇博客介绍了如何使用C语言实现五子棋游戏。首先,讲解了C语言中的函数声明、定义和变量分类,包括值传递和址传递。接着,讨论了进程映像和内存分布,包括代码段、数据段、堆和栈。然后,详细阐述了全局变量、局部变量和块变量的作用域和生命周期,并介绍了类型限定符如`auto`、`extern`、`const`、`static`、`volatile`、`register`和`typedef`的用法。最后,博主给出了五子棋游戏的实现思路,包括棋盘数据结构、初始化、显示、落子判断和五子连珠的检查逻辑。
摘要由CSDN通过智能技术生成
复习:
自定义函数:

​ 1.函数声明:告诉编译器的格式,方便它检查调用者的参数,返回值

​ 2.隐式声明:当调用函数时如果没有声明,没有定义,编译器会猜测函数的格式,

​ 函数的形参会按照调用者提供的实参来猜,返回值默认int

​ 3.函数定义:如果函数的定义在调用之前,声明可以省略

​ 4.函数传参

​ 值传递:普通变量,函数之间不能共享同名变量

​ 址传递:数组,数组的长度会丢失,需要额外增加一个参数来传递数组的长度,

​ 同时该数组被两个函数共享(调用者和被调用者)

​ 返回值:return语句不是把数据传给调用者,而是把数据放在一个他们都能访问的公共区域, 所有就没有return语句,调用者会从该区域获取一个垃圾数据(上上个函数的返回值)

进程映像:进程映像指的是进程的内存分布

​ 程序:储存在磁盘上的文件(二进制文件,脚本文件)

​ 进程:系统中正在运行的程序,进程映像指的是进程的内存分布情况

​ text 代码段;储存二进制指令,常量,只读,强制修改时会产生段错误

​ data 数据段;储存时初始化过的全局变量,静态局部变量

​ bss 静态数据段;储存时未初始化过的全局变量,静态局部变量

​ heap 堆;由程序员手动管理,特点足够大

​ stack 栈;由操作系统管理的,会自动申请,释放内存,大小很有限,超出限制会发生段错误

变量的分类:

​ 储存位置:生命周期:作用范围(作用域):

​ 全局变量:

​ data或者bss

​ 从程序开始到结束

​ 程序的任意位置

​ 局部变量:

​ stack

​ 从定义位置开始到函数结束

​ 只能在函数内使用

​ 块变量:定义在if,for,while等语句块内的变量

​ stack

​ 从定义位置开始到函数结束

​ 只能在语句块内使用

全局变量,局部变量,块变量可以重名,局部变量会屏蔽全局的变量同名变量,块变量会屏蔽局部,全局的同名变量

类型限定符:

​ auto

​ 用于定义自动申请,释放的变量(局部),不加就代表加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值