1. 关键字

regeister int a=10;//建议将a定义成寄存器变量

typedef--类型重定义

typedef unsigned int u int;//简写
u int num=20;

static:修饰变量和函数

void test(){
static int a=1;//a是一个静态局部变量,再次调用时,a的值会保存上一次的
a++;
printf("a=%d\n",a);
}

修饰全局变量--->变量只能在自己源文件中使用

修饰函数-->改变了函数的连接属性,跟全局变量类似

2.宏

#define MAX (x,y) (x>y?x:y)

3.指针

#include <stdio.h>
#include <stdlib.h>
int main()
{
//通过内存地址找到所需的变量单元
int a=10;
int *p=&a;//*是解引用操作符
printf("%p\n",p);//a的内存地址
printf("%d\n", sizeof(p));//内存地址所占字节,32位的一般4个,64位的8个
printf("%d\n",*p);
*p=20;//通过内存地址存储20
printf("%d",a);//a的值可以改变
return 0;
}

4.结构体

复杂对象---结构体----我们自己创造出来的一种类型

例如:书=书名+作者+出版社+定价+书号

#include <stdio.h>
#include <stdlib.h>

int main()
{
struct BOOK{
char name[20];
char author[20];
char press[20];
double price;
int book_number;
};

struct BOOK b1={"c语言程序设计","颜晖","高等教育出版社",35.10,111111};
struct BOOK* p=&b1;
printf("%s\n",b1.name);
printf("%s\n",b1.author);

// printf("%p\n",p);//书名的内存地址
printf("%s\n",p->name);//通过内存地址找书名
printf("%s\n",b1.press);
printf("%.2f\n",b1.price);
printf("%d\n",b1.book_number);



return 0;
}