操作指標陣列

2022-05-22 14:27:07 字數 363 閱讀 4327

char *a[2] = ;

char *b[3];

strcpy(b[1], a[1]);

這樣編譯沒錯誤,執行就會提示錯誤。

因為b中元素僅僅是指標而已,只為存放指標名而分配了空間!就是說,當你進行這樣的複製操作時,b中並不具有儲存乙個字元陣列的空間。

為了解決這樣的問題,乙個可以考慮的方法是,可以選擇使用自由儲存區中的空間,比如像這樣在

for(int i=0;i<3;i++)b[i] = new char[10];

但是注意,這時b中的元素是儲存在自由儲存區中的,就是說需要你自己管理它們,當用完以後記得挨個刪除,如

for(int i=0;i<3;i++)delete b[i];

陣列操作 指標

陣列一旦定義,就不允許再新增新元素。如果必須在陣列中新增新元素,必須自己管理記憶體 要求系統重新分配乙個新的記憶體空間用於存放更大的陣列,然後把原陣列的所有元素複製到新分配的記憶體空間中。在用下標訪問元素時,vector使用vector size type作為下標的型別,而陣列下標的正確型別則是si...

指標 指標的指標和陣列操作例程

include include include int main printf the data in pimg for int i 0 i 4 i pointer of pointer byte ppimg int k 4 ppimg new byte 2 for int i 0 i 2 i fo...

php陣列指標操作詳解

陣列指標的操作 程式設計客棧 移動陣列指標的操作 next 向下 同時會獲得當前元素的值。prev 向上同時會獲得當前元素的值。end 移動到最後乙個元素單元 獲得最後乙個元素的值 reset 移動到第乙個單元 獲得第乙個元素的值。如果移動不成功,返回fa 引數都為需要操作的陣列,並且是引用傳遞。獲...