初识C语言(四)

本文详细介绍了C语言中的typedef用于简化变量名,static对局部变量、全局变量和函数链接属性的影响,以及#define定义常量和宏的使用。内容涵盖了内存解释、指针操作、指针变量大小和自定义结构体的创建和操作。
摘要由CSDN通过智能技术生成

一、关键字 typedef

自我理解:typedef 可以将长命名的变量名转化为短的变量名,更加方便使用。

二、关键字 static

1.static 修饰局部变量

未经过static修饰的局部变量

经过static修饰的局部变量

总结:

当用static修饰局部变量时,局部变量的存储位置就在静态区,而不是在栈区。

2.用static修饰全局变量

全局变量具有外部链接属性

static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性。其他源文件(.c)就不能够再使用到这个全局变量了。

3.用static修饰函数

函数也是具有外部链接属性的

一个函数本来是具有外部链接属性的,但是被static修饰的时候,外部链接属性就改变为内部链接属性,其他源文件(.c)就无法使用。

4.(补充)寄存器

三、#define 定义常量和宏

宏是将数据传进去

四、指针

1.内存

内存的解释:

为什么一个内存单元的大小用 1 byte 来表示,而不是用 1 bit 来表示?

原因:如果我们存储一个 char 类型的变量,向内存申请1个字节的空间,那么用一个 bit 单元来表示一个地址,那么 char 类型的变量就占了8个地址,空间利用率不高。

2.指针

取地址a的地址为第一个字节空间的地址。如下。

创建指针变量来存储地址

“*” 解引用操作符

五、指针变量的大小

六、结构体

因为c语言所给的类型都只是数字类型,所以结构体可以根据所需类型来自定义。

创建结构体就像是在画图纸,并没有创建结构体变量,当创建结构体变量时,才会向内存申请一块空间。

“.”操作符

“->”操作符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值