感悟:沉下心来,空杯心态,才能学到细节。高手都在细节里。
温故而知新的道理,只有温故了,才能感悟到。
a>=5 它其实是一个有返回值的一个表达式。如,if(a>=5).
三目操作符是if else这个逻辑的简写。exp1 ? exp2: exp3
register int num=1;
const int num =1;
extern int num; 对于外部符号,你只要告我类型和名字就行
这种修饰都在开头
static int a
1、修饰局部 。。。
2.修饰全局/函数: 效果是,该变量只能在该文件里使用,效果是隔离其它.c文件
静态的意蕴就是:静,不爱动。所以只具有内部链接属性
栈区数据的特点:临时性。出了作用域,就销毁
静态区:长久性,main函数结束,才销毁。static int a; a的生命周期>>它的作用域。
他只能在对应作用域使用,但出了作用域,不影响它活着。static作用(修饰局部变量时):改变了存储位置到静态区。2.生命周期变长到整个程序的生命周期。
Ⅳ。
#define 定义的宏也好,什么也好 ,本质做的都是替换。
指针就是内存单元对应的地址,又称为内存编码。说白了指针就是那串标记内存空间位置的那一串编码
& * 来、回
sizeof的返回值 : %zu
指针存在的意义:脱离main函数,依旧可以通过内存地址,找到那块空间,只要给我地址,我就能找到你
字符:骨子里存的是字符对应的ASK码值,是整数。
字符串:包含很多字符的那一串东西“”里面有 1.a、b、c 2.#%!#%& 3.n a t 这几类字符
骨子里存的是字符对应的ASK码值,是整数
#define NULL ((void *)0)
% 的本质是 残羹。就是除了,除不尽,剩下的那个东西。
if(!(exp)) 把exp里面理解为假,也就是0, !exp 表示 把假变真,表示假我也要执行。
Ⅴ.
循环:
break:直接跳出循环
continue:遇到continue应该理解为忽视continue后面的部分,然后继续往下执行
for循环:
初始化、判断、执行代码块、调整、 判断、代码块、调整 判断、代码、调整。。。。。
好处:1.循环变量和 循环体分离
for(我是专门管循环变量)
{
我是循环体
}
Ⅵ。
遇到continue应该理解为 理解一:忽视continue后面的部分,然后继续往下执行
理解二:跳过continue后面的,然后到判断部分。



