1-C语言相关知识点备忘、整理

C语言相关知识点备忘、整理

学习c语言及嵌入式时候的一点备忘整理先发一下,以后再修改

某些小点

“\”c语言续航符,后面什么都不能有直接回车

unsigned 为无符号类型。将最高位的符号位取消,变为数据位,如 ±16位 变为 32位。

typedef unsigned int uint32_t; 其中u表示无符号,int为整型,32位,t为typedef 自行定义的。

1||(m=9);由于1或上任何输出为1,故m=9未执行

结构体

“.”—的
“->”—指向…的

struct node s;
s.name // 结构变量访问成员的方式
struct node * p;

p->name // 结构体指针访问结构体成员的方式
(*p).name // 这样也可以, 一般人不这样用

使用结构体,得到初始地址,按照其内的元素所占的位/字节,访问各个位置。

struct是结构体的关键字,用来声明结构体变量,如:

struct student { 
    char num[10]; 
    char name[20]; 
    int age; 
}; 

typedef是用来定义新的类型名来代替已有的类型名,可将上面的结构体定义如下

typedef struct student{ 
    char num[10]; 
    char name[20]; 
    int age; 
}stud;

也就是说,将原来的struct student 重新定义为 stud;
举个例子:
如上面的方法定义了结构体student时,如果在主函数中声明结构体变量时,应按如下方法 struct student stu[10];这样就声明了一个结构体数组,如果开始定义时用typedef,那么就可以直接用 stud stu[10]来声明,这就他们的区别。

指针

几级指针就往回倒几次。

typedef

typedef 使其它东西可以用你自定义的名字进行使用
例如:
typedef uint32_t int;
uint32_t a;    ⟺    \iff int a;

enum枚举

typedef enum
{
    GPIO_Speed_10MHz = 1,
    GPIO_Speed_2MHz, 
    GPIO_Speed_50MHz
}GPIOSpeed_TypeDef;

此时GPIOSpeed_TypeDef 定义的东西的值只能为定义的里面的值(GPIO_Speed_10MHz、GPIO_Speed_2MHz、GPIO_Speed_50MHz),如果里面有的变量没有给赋值,则默认是递增的,如GPIO_Speed_10MHz是1,则GPIO_Speed_2MHz就是2 ,GPIO_Speed_50MHz就是3。

地址

一个地址指向一个字节(8位)

当定义的指针是32位时,如unsigned int* p=0x40000000,它会取出以此开始的4个字节(32位数据)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值