UC/OS_32的结构体、指针理解
Typedef + 结构体 定义的OS_TCB ,意思是重新命名。
OS_TCB是一个结构体类型,和int类型的使用方法一样
,他可以再定义一个结构体变量,而被定义的结构体变量就可以调用结构体内的变量啦,
而这种形式只能这样使用OS_TSB.xxxx
32的一般用法,先用tpyedef给结构体重命个名字,而这个
名字
是
结构体类型
,然后再定义一个结构体变量。
//类似于绝对地址访问写入, *p = 24; 就是对指针变量p的地址进行访问,并对该地址下的存储单元写入24。因为我们都只知道指针变量只能赋值地址。
//指针变量对成员的访问为 -> 而结构体变量对成员的访问为 OSTCBCur.
4.struct os_tcb{
};
typedef struct os_tcb OS_TCB; OS_TCB为结构体类型,可定义结构体变量
tpyedef struct{
}ad_cd4051;//这个位置为结构体类型
ad_cd4051 AD_CD4051;
上述两种情况,第一种是分两步走,先struct一下结构体,再typedef申明结构体类型。第二种是一步走直接声明结构体类型。
简单点,在括弧后面的是结构体类型,没有的再tpyedef一个结构体类型。
结构体类型不仅能声明变量,而且可以声明指向结构体类型的指针。指针在.h文件中extern声明之后,可在其他文件当中直接使用调动子成员。
总之,在struct之后最重要的就是那个
结构体类型
,结构体类型再声明
结构体变量
或者
结构体指针
,各有各的用法。(亲测,有效确实是这么用的)
待我学习了其他的各级指针的用法,再来BB····