1. 程式人生 > >函式內 宣告一個字元陣列和一個指向字串陣列的指標 區別

函式內 宣告一個字元陣列和一個指向字串陣列的指標 區別

函式內 宣告一個字元陣列:

char* Fuction()
{
    
char a[]="abcdefg";//存取在棧中
return a;                  //返回指向“棧記憶體”的指正,VC6.0發出warning
}

函式內宣告一個指向字串陣列的指標:

char* Fuction()
{
   
char* p="abcdefg";//"abcdefg"位於靜態存取區,指標常量p指向這塊記憶體return p;
}

總結:程式在記憶體中有3中儲存方式,

靜態儲存區:存放全域性變數和static變數

棧:存放函式內的區域性變數

碓:new生成的變數,物件