函数内 声明一个字符数组:
char
*
Fuction()
... {
char a[]="abcdefg";//存取在栈中
return a; //返回指向“栈内存”的指正,VC6.0发出warning
}
... {
char a[]="abcdefg";//存取在栈中
return a; //返回指向“栈内存”的指正,VC6.0发出warning
}
函数内声明一个指向字符串数组的指针:
char
*
Fuction()
{
char * p = " abcdefg " ; // "abcdefg"位于静态存取区,指针常量p指向这块内存
return p;
}
{
char * p = " abcdefg " ; // "abcdefg"位于静态存取区,指针常量p指向这块内存
return p;
}
总结:程序在内存中有3中存储方式,
静态存储区:存放全局变量和static变量
栈:存放函数内的局部变量
碓:new生成的变量,对象