7月份又看了视频学了学C语言:
sizeof()为静态运算符,()中不会执行运算;
二进制负数:正数 = 原码, 负数 = 反码+1;
%o 输出八进制,%x输出十六进制,%e输出科学计数法,%p输出指针;
短路:不要把赋值,包括复合赋值组合放进表达式;
int *const q = &i; 指针是const,一旦得到了某个变量的地址,不能再指向其他变量;
int const *p = &i; 不能用指针去修改i中的值;
*p++取出p所指的那个数据来,然后把p移动下一个位置;
动态内存分配:int *a = (int *)malloc(n * sizeof(int));
free(a);只能释放原始申请的;
单字符输入输出: int putchar(int c)
int getchar(void)
枚举 enum color{RED,YELLOW,GREEN};
结构可以整体赋值:p1 = p2;
结构指针 struct date{
int month;
int day;
int year;
};
struct date today;
struct date *pDate = &today;
pDate -> month = 12;
联合 union
链表
把函数原型放到一个头文件(把所有对外公开的函数的原型和全局变量的声明都放进去)中,在需要调用(定义+使用)这个函数的源代码文件中#include这个头文件,就能让编译器在编译的时候知道函数的原型;
在函数前加上static就使得它成为只能在所在的编译单元中被使用的函数
……全局变量………………………………………………………………………………全局变量;
标准头文件结构:#ifndef _MAX_H_
#define _MAX_H_
#endif
保证这个头文件在一个编译单元中只会被#include一次;