继续第四天的学习,今天的学习内容包含关键字,define定义常量,指针和结构体.
这里都是初步了解,后续课程会进行详细说明
目录
1.12.1 关键字typedef
顾名思义,typedef就是类型重定义,相当于给类型起一个新的名字,方便操作.下面例子中就是把unsigned int类型改名为uint_32,只是名字不同,本质上是一样的.
1.12.2 关键字static
ststic主要有三个用途:
1.修饰局部变量
2.修饰全局变量
3.修饰函数
1.12.2.1 修饰局部变量:
局部变量的生命周期是从进入函数开始,函数结束也随之结束.static修饰后的局部变量其生命周期不再受函数的限定,因为他的内存空间从栈区改为了静态区,在整个工程中都是存在的.所以在函数执行的时候,static修饰的局部变量会存储上一次调用的值.
1.12.2.2 修饰全局变量
全局变量具有外部链接属性,当一个工程中创建两个.c源文件,一个源文件想用另一个源文件里的变量时要使用extern声明外部变量.但是当全局变量被static修饰时,全局变量失去外部链接属性,即只能在当前源文件中使用.
1.12.2.3修饰函数
同全局变量
1.13.#define定义常量和宏
定义常量:#define 常量名 常量内容
定义宏:#define 宏名(宏的参量(参量无类型)) 宏体
1.14.指针
1.14.1 内存
内存是电脑上的存储单元,每个内存单元的大小是1个字节,这些内存单元都有编号,编号就是内存单元的地址.
这里取出地址要用到取地址符,取出的地址是首地址.%p为格式化打印地址
定义指针变量:
指针变量类型 *指针变量名:
如:int *p;定义了一个指向整型的指针变量,该指针变量的名字是p.
取出指针变量所指向的值要用解引用操作符*.
例如:
1.14.2 指针变量的大小
在32位平台下地址是32bit(4个字节)
在64位平台下地址是64bit(8个字节)
1.15 结构体
结构体相当于给定一张表格,然后去填充里面对应的信息.
上图是定义了一个叫做Stu的结构体,该结构体用来存储学生的名字,年龄,性别和学号.访问结构体中的变量值的操作符如上所示.
Day4与第四节课到此结束,有错误的地方还请大家多多指正,感谢支持.