typedef unsigned int uint;//typedef-类型重命名-把unsgined重新命名为uint
int main()
{
unsigned int num = 0;
uint num2 = 1;
return 0;
}
//static-1.修饰局部变量2.修饰全局变量3.修饰函数
1.修饰局部变量
void test()//void-不需要返回类型
{
static int a = 1;//
a++;
printf("%d",a);
}
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
static修饰局部变量的时候,局部变量出了作用域不销毁,本质上修饰局部变量的时候改变了变量的存储位置,影响了变量的生命周期(变长,和程序的生命周期一样)
2.修饰全局变量
全局变量具有外部链接属性
static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性。
其他源文件(.c)就不能再使用到这个全局变量了
3.修饰函数
一个函数本来具有外部链接属性的,但是被static修饰的时候,外部链接属性就变成了内部链接属性,其他源文件(.c)就无法使用了。
register-寄存器
int main()
{
register int num = 1;//建议num存放到寄存器中
return 0;
}
#define定义表示符常量
#define num 100
int main()
{
int n = num;
printf("%d\n",num);
printf("%d\n",n);
int arr[num] = { 0 };
return 0;
}
#define定义宏
#define ADD(x,y) ((x)+(y))//ADD-宏名,(x,y)-宏的参数(参数是无类型的),((x)+(y))-宏体
int main()
{
int a = 10;
int b = 20;
int c=ADD(a,b);//int c=((a)+(b));
printf("%d\n",c);
return 0;
}