例:
static int a = 10;
int b = 10;
void Func()
{
static int c = 10;
int d = 10;
char* p1 = "hello";
char p2[] = "hello";
int* p3 = (int*)malloc(4);
}
问题:
- strlen(p1):5
- strlen(p2):5
- sizeof(p1):4或8
- sizeof(p2):6
A:栈 B:堆 C:数据区(静态区) D :代码段(常量区)
全局变量、静态变量在数据区
a在哪:C
b在哪:C
c在哪:C
局部变量在栈区:
d在哪:A
p1在哪:A
p2在哪:A
p3在哪:A
*p1在哪:D(*p1是一个常量,常量在常量区)
*p2在哪:A
*p3在哪:B