#include <stdio.h>
int a = 1;
int d = 1;
char *s0="wer";
int main()
{
int b=1;
int c=1;
char* s1 = "wer";
char* s2 = "wer";
/* 我的第一个 C 程序 */
printf("a在内存中的地址 %p\n",&a);
printf("d在内存中的地址 %p\n\n",&d);
printf("c在内存中的地址%p\n\n",&c);
printf("s1变量地址是%p\n",s1);
printf("s22变量地址是%p\n\n",&s2);
}
int a = 1;
int d = 1;
char *s0="wer";
int main()
{
int b=1;
int c=1;
char* s1 = "wer";
char* s2 = "wer";
/* 我的第一个 C 程序 */
printf("a在内存中的地址 %p\n",&a);
printf("d在内存中的地址 %p\n\n",&d);
//a在内存中的地址 0x601040
//d在内存中的地址 0x601044
//-----------说明a和d是两个内存,都是在常量区域 a=1一块,d=1一块
printf("c在内存中的地址%p\n\n",&c);
//b在内存中的地址 0x7fff57569f98
//c在内存中的地址0x7fff57569f9c
// --------说明b,c是两个内存,都是在栈区域,b=1一块,c=1一块
printf("s1变量地址是%p\n",s1);
printf("s2变量地址是%p\n\n",s2);
s0变量地址是0x4006c4
s1变量地址是0x4006c4
s2变量地址是0x4006c4
//以上说明s0,s1,s2指向的是同一块内存,这块内存是在常量区域,存的是wer字符串
printf("s00变量地址是%p\n",&s0);
printf("s11变量地址是%p\n",&s1);printf("s22变量地址是%p\n\n",&s2);
s00变量地址是0x601048
s11变量地址是0x7fff57569fa0
s22变量地址是0x7fff57569fa8
//以上说明全局变量s0本身自己也是在常量区域的,s1,s2本身是在栈区域的
}