先贴代码,总结以后再写,和5中内存分配方式密切相关

PS: str 返回整个字符串,str[0],*str返回首字符h

char *strA(){
    char str[]="hello!"; //局部数组,局部变量,            str存在栈区
    return str;  //局部变量不能传值,估计会成为野指针
                //函数返回局部变量的地址,当被调用完成时,str就释放了,因此返回结果是不确定的且不安全的
}

char *strA2(){
    char *str = "hello2!";//字符串在常量区,            str在“全局”吗??应该是
                        //str 返回整个字符串,str[0],*str返回首字符h
    cout << *str <<str << str[0] <<endl;
    return str;
}

char *strA3(){
    static char str0[] = "hello3!!";//加了个static,    str由栈区-->静态区(即全局区)                        
    return str0;
}

 

posted on 2014-08-21 23:44  zhangxh_Doris  阅读(164)  评论(0编辑  收藏  举报