#define定义标识符时,如果一行占不下,可以加\,\为续行符。
#define Loop for( ; ; )\
{\
printf("");\
}\
#define定义宏,宏是有参数的。比如:#define ADD(x, y) ((x)+(y)) 注意:x和y一定要分别加小括号,还有大括号,不然可能会出现一些漏洞。
指针:内存存放:内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的 。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
大端:低地址存放高数据 ;小端:低地址存放低数据。
%p:打印变量的地址,16进制。每次运行程序,变量的地址都是不确定的。地址存放在对应类型的指针中。p中的*是间接访问符,或者解引用。
指针大小:任何类型的指针大小在32位下都为4个字节;在64位下为8个字节。比如:
#include <stdio.h>
int main()
{
int num = 10;
int *p = #
*p = 20;
return 0;
}
运行结果是num=20.
结构体:struct和数组 都是一种类型,聚合类型 。在定义时进行整体初始化只有一次机会 。 比如:
struct Stu
{
char name[20];//名字
int age; //年龄
char sex[5]; //性别
char id[15]; //学号
};
struct Stu s = {"张三", 20, "男", "20180101"}