简单的C语言

本文深入探讨C语言的高级特性,包括优先级运算、布尔与浮点类型判断、数据类型转换、结构体长度计算、宏定义注意事项、类型别名定义、volatile关键字作用以及Linux系统组成。通过具体代码示例解析,帮助读者掌握C语言编程中的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 优先级及"++"
执行代码:
int a = 1;
int b = 0;
int c = 0;
int d = (++a) * (c = 1);
则a,b,c,d的值分别是多少?
2,0,1,2
  1. bool 类型与float 类型使用if判断“零值”
bool flag;
	if(flag) 或 if(!flag)
float x = 0.001;
	if(x <= 0.001)

3.数据类型的转换

void foo(void)
{
	unsigned int a = 6;
	int b = -20;
	(a+b>6) ? puts(">6") : puts("<=6"); 
}
输出:
	>6
有符号数与无符号数转换规则, 将转换为无符号类型。
-20 的机器数为FFFF FFECH
则a+b大于 6

4、struct结构体的长度

struct my_struct
{
	char a;
	int   b;
	char c;
}
长度为12,因为字节自动补齐, char 2字节->4字节,int 4字节,char 2字节->4字节,为12字节

5、#define

是预处理指令,在预处理过程进行简单的字符串替换,不作正确性检查。
不只是可以为类型取别名,还可以定义变量、编译开关等。
*一定要注意使用括号,保护变量的定义
对指针类型的定义一定要规避风险

6、typedef

是关键字,在编译过程中存在类型检查功能。
不能在一个函数定义里面使用typedef。
用来定义类型的别名,定义机器无关的类型

7.volatile

保证了共享变量的“可见性”
在编译过程不优化,在执行的时候不缓存,每次都需要从内存中读出来,避免资源争夺。

8、linux系统组成

主要由内核、shell、文件系统和应用程序组成。
内核、shell和文件系统形成了基本的操作系统结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值