c++学习—程序四区(全局区分析)

程序四区中的全局区分析:全局区包括:1.常量2.全局变量3.文字常量区4.静态变量
以下用程序和图片说明:

#include <iostream>
char *get_str1()
{
    char *p = "abcd";
    return p;

}
char *get_str2()
{
    char *q = "abcd";
    return q;

}
void main(void)
{
    char *p=NULL;
    char *q=NULL;
    p = get_str1();
    q = get_str2();
    printf("p=%s,&p=%d", p, &p);
    printf("\n");
    printf("p=%s,&p=%d", p, &p);
    system("pause");

}

程序分析图解释全局区

结果显示

我们发现定义了2个不同的指针p,q;但是最后的地址一样的,因为“”abcd“”放在文字常量区中,当调用函数时,一样的“”abcd“”放在一个地址中,p,q都是指向他们,所以地址一样。详细见图。

猜你喜欢

转载自blog.csdn.net/qq_23859701/article/details/79446219
今日推荐