简单的C语言

  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和文件系统形成了基本的操作系统结构。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值