变量的存放空间:
|栈 |存放:从上向下存放
| |
|堆 |
————
| |未初始化区 |
———— |
| |读写区 | |>data区
———— |>初始化区 |
| |只读区 | |
例:
int mm;static int gg;
int kk[]="ggmm";static char *q=“party”;(当成常量没有空间) int main()
{
int a,b;
static int d;
char c[]="china";
static int e[]="isgreat";
char *p="party";
return 0;
}
变量 存放位置
mm,kk,e[] -> data-初始化-读写
gg -> data-未初始化
*q,*p -> data-初始化-只读
a,b,c[] -> 栈上
注:一般变量都是自动的(auto)函数结束内存就释放了,而静态变量一直 都存在。
全局变量int a---static int b区别:外部文件只可调用a。
|栈 |存放:从上向下存放
| |
|堆 |
————
| |未初始化区 |
———— |
| |读写区 | |>data区
———— |>初始化区 |
| |只读区 | |
例:
int mm;static int gg;
int kk[]="ggmm";static char *q=“party”;(当成常量没有空间) int main()
{
int a,b;
static int d;
char c[]="china";
static int e[]="isgreat";
char *p="party";
return 0;
}
变量 存放位置
mm,kk,e[] -> data-初始化-读写
gg -> data-未初始化
*q,*p -> data-初始化-只读
a,b,c[] -> 栈上
注:一般变量都是自动的(auto)函数结束内存就释放了,而静态变量一直 都存在。
全局变量int a---static int b区别:外部文件只可调用a。