////最开始 运行size main
text data bss dec hex filename
913 264 72 1249 4e1 main
////////////////////////////////////////////////
在全局上 增加一个 data【1000】之后 bss 增加了4000
text data bss dec hex filename
913 264 4072 5249 1481 main
////////////////////////////////////////////////////
将 data【1000】 = {10};
text data bss dec hex filename
913 4312 72 5297 14b1 main
data段增加4048
//给全局变量赋值使数组data从BSS段移到了DATA段
//局部变量并不进入a.out,它们在运行时创建
// 如果只是在全局申明变量 文件大小是不会变的 只是bss 会改变 但要是 对全局数组
赋值的话 就会是文件的大小发生改变 并且bss 段不会增加 只会增加data 段
# include<stdio.h>
# include<stdlib.h>
char peer[40];
static double peach;
int mango = 13;
static long melon = 2011;
int data[1000] ;
int main()
{
int i = 3,j,*ip;
ip = malloc(sizeof(i));
peer[5] = i;
peach = 2.0 * mango;
return 0;
}
posted on 2011-03-25 09:17
付翔 阅读(269)
评论(0) 编辑 收藏 引用 所属分类:
linux 及 c相关