前言:
感谢b站鹏哥c语言
内容:
栈区(存放局部变量)
堆区
静态区(存放静态变量)
rigister关键字
寄存器,cpu优先从寄存器里边读取数据
#include <stdio.h>
//typedef,类型重命名,就是给类型重新命名一个名字
//typedef unsigned int uint;
//
//int main()
//{
// unsigned int num = 0;
// uint num1 = 1;
// printf("%d\n", num1);
//
// return 0;
//}
//关键字static,用来修饰变量和函数
//1、修饰局部变量
//2、修饰全局变量
//3、修饰函数
//void test()
//{
// int a = 1;
// a++;
// printf("%d ", a);
//}
//
//int main()
//{
// int i = 0;
// while(i < 10)
// {
// test();
// i++;
// }
// return 0;
// }
//1、static修饰局部变量的时候,局部变量出作用域时不销毁
//本质上,就是修改了局部变量的存储位置
//影响了变量的生命周期,变量周期和整个程序的生命周期一样长了
//void test()
//{
// int a = 1;
// int b = 1;
// int r = a + b;
// printf("%d\n", r);
return r;
//}
//
//int main()
//{
// test();
// int result = test();
printf("%d\n", test());
printf("%d\n", result);
// return 0;
//}
//全局变量 (这个老师在vs演示了,在dev上做不了,因为好像不支持调用外部函数)
//static修饰全局变量的时候
//这个变量的外部链接属性,就变成了内存链接属性
//其他源文件(.c)就不能再使用到这个全局变量了。
//
//int a = 1;
//static int a = 1;
//
//int main()
//{
// printf("%d\n", a);
// return 0;
// }
//
//static修饰函数
//一个函数具有外部链接属性的
//但是被static修饰的时候,外部链接属性就变成了内部链接属性
//其他源文件(.c)就无法使用了
//好像dev没有外部链接属性
//int add(int x,int y)
//{
// return x + y;
// }
//
//int main()
//{
// int a = 1;
// int b = 0;
// scanf("%d %d", &a, &b);
//
// int result = add(a,b);
//
// printf("%d\n", result);
// return 0;
//}
//int main()
//{
// //寄存器变量
// register int num =3; //建议num=3放到寄存器里边,提高读写速度
// return 0;
//}
//#define标识符常量和宏
//#define max 100
//#define add(x,y) ((x) + (y))
//
//int main()
//{
// int r = max;
// printf("%d\n", max);
// printf("%d\n", r);
// int arr[max] = {0};
// printf("%d\n", sizeof arr);
//
// int a = 10;
// int b = 10;
// int result = add(a,b);
// printf("%d\n", add(a,b));
// printf("%d\n", result);
// return 0;
// }