Code |
RO data |
RW data |
01 | const char ro[ ] = {"this is read only data"}; //只读数据区 |
02 | static char rw_1[ ] ={"this is global read write data"}; //已初始化读写数据段 |
03 | char BSS_1[ 100]; //未初始化数据段 |
04 | const char *ptrconst ="constant data"; //字符串放在只读取数据段 |
05 | int main() |
06 | { |
07 | short b; //在栈上,占用2个字节 |
08 | char a[100]; //在栈上开辟100个字节,工的值是其首地址 |
09 | char s[ ]="abcdefg"; //s在栈上,占用4个字节 |
10 | //"abcdefg"本身放置在只读数据存储区,占8个字节 |
11 |
12 | char *p1; //p1在栈上,占用4个字节 |
13 | char *p2="123456"; //p2 在栈上,p2指向的内容不能改, |
14 | //“123456”在只读数据区 |
15 |
16 | static char rw_2[ ]={"this is local read write data"};//局部已初始化读写数据段 |
17 | static char BSS_2[100]; //局部未初始化数据段 |
18 | static int c = 0; //全局(静态)初始化区 |
19 | p1=(char *)malloc(10 * sizeof(char ) ); //分配内存区域在堆区 |
20 | strcpy(p1,"xxxx"); //“XXXX”放在只读数据区,占5个字节 |
21 | free(p1); //使用free释放p1所指向的内存 |
22 | return 0; |
23 | } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |