close

char *array=new char[n];

c++以delete array釋放*array指標,字串動態記憶體陣列可正確將指標*p的內容值 與 p的地址值 釋放.

char p = (char *)malloc( sizeof(char)) ; 

c以free(array)釋放*array指標,字串動態記憶體陣列無法將指標*p的內容值 與 p的地址值 釋放.  

動態指標可宣告為陣列,但一般指標不能宣告為陣列.

指標a指向動態配置陣列,與指標a指向另一個已存在的陣列意義不同.??????

int *a=new int [5];

執行配置動態指標整數陣列a的釋放delete a後,a陣列的地址與元素值依舊存在.

配置動態指標整數陣列a指向NULL時;只能輸出每個陣列元素地址,NULL的地址(同時也是a與a[0]陣列的地址)為0,下一個元素地址a[1]的地址為a[0]的地址再加上資料型態的大小,依此類推(a=&a[0]=0,&a[1]=0x4,&a[1]=0x8.....),但無法顯示在NULL位置時的值.否則程式執行會產生錯誤.

arrow
arrow
    全站熱搜

    minsin 發表在 痞客邦 留言(0) 人氣()