四区
左值:能放在等号左边进行赋值的值
代码区:define定义在代码区,字符串常量(char *p="你好";),程序代码。只读
静态数据区: 全局变量、常量(const int m=10;(谁都可以访问,只能读不能写)),静态变量(static int a=1;(一旦创建不会因为循环而重建))、静态常量(static(放到静态区) const in a=1;)。全局,哪个函数都可以访问。
static静态函数可以避免函数跨文件重名的问题,避免内部函数被外部调用
栈区存放函数参数值和局部变量的值
malloc返回值就是一片内存的地址//堆需要手动回收,栈会自动回收
int *p=malloc(sizeof(int)*5);
for()int j=0;j<5;j++{
p[i]=5-i;
}
函数名是一个指针存储了函数入口点地址
const int a=1;仍在栈区,不是静态