今天是学习嵌入式相关内容的第十三天,以下是今日所学内容
1.const指针
const 关键字 常量(只读) readonly
2.void
3.函数指针和指针函数:
指针函数:是函数,函数的返回值类型是指针类型
函数指针:是指针,指针指向了函数
1.指针函数:
局部变量的地址不能返回,因为局部变量会随函数作用域结束被回收,虽然能够获得返回的地址,但地址对应的空间已经被回收过了
将函数的返回值作为下一个函数的参数
指针函数,mystrcpy
2.函数指针:
int (*Fun)(int a, int b) = NULL;
定义函数指针变量Fun,占8个字节空间,指向int返回值有2个int参数的函数
函数指针,由小到大排序
4.C语言中二级指针使用场景:
1.指针数组传参时:
char *str[5];
int Fun(char **ppstr, int len);
2.函数体内想修改函数体外指针变量值的时候,要传递指针变量的地址即二级指针
char *p = NULL;
int Fun(char **pp);
构造数据类型:
数据类型:
1.基本数据类型:
int
double
char
2.构造数据类型:
1.struct 结构体
2.union 共用体
3.enum 枚举
1.结构体:
1.结构体类型的定义
struct 结构体名
{
数据类型1 成员变量1;
数据类型2 成员变量2;
数据类型3 成员变量3;
..
};
2.结构体变量的定义
数据类型 变量名;
数据类型 *指针变量名;
3.结构体变量的初始化:
1.全部初始化:
struct student s = {"zhangsan", 'm', 19, 100};
2.局部初始化:
struct student stu = {
.name = "lisi",
.score = 90,
};
4.结构体成员变量的访问:
. :结构体变量类型访问成员变量使用 .
-> :结构体指针类型访问成员变量使用 ->
整体类型由成员变量类型决定
结构体输入与输出