陣列指標為什麼不能使用strcpy

2021-08-22 03:22:47 字數 323 閱讀 8533

程式設計中遇到的問題,終於弄明白了:

例程說明如下:

#include #include int main(char argv,char *argc)

編譯時不會出錯,但是執行時會出錯,你定義char *b[10]時b[10]的每個元素是乙個指標,指向字元型的,但是指向的位址是隨機的,是不確定的,所以strcpy(b[0],str);b[1]是乙個指向字元的位址,這個位址是隨機的,可能指向記憶體的任何地方,可能是不具有寫許可權的位址,如指令區,資源區等,那麼執行會出錯,或是影響了你的程式的其它資料,都會導致執行出錯,安全的作法b宣告為二維陣列吧

為什麼使用指標

在實際程式設計中,既然使用變數就可以訪問資料,為什麼還用指標呢?使用指標來操縱自動變數的唯一原因是,為了說明指標的工作原理。指標真正的用途是被用於完成下列3種任務 管理自由儲存區中的資料 訪問類的成員資料和函式 按引用傳遞引數 在 函式的 工作原理 中,提到了5個記憶體區域 全域性命名空間 自由儲存...

什麼時候不能使用箭頭函式

js 中物件方法的定義方式是在物件上定義乙個指向函式的屬性,當方法被呼叫的時候,方法內的 this 就會指向方法所屬的物件。1.1 定義字面量方法 因為箭頭函式的語法很簡潔,可能不少同學會忍不住用它來定義字面量方法,比如下面的例子 const calculator console.log this ...

Unity3D開發中熱更新為什麼不能使用C 的思考

閱讀了網上一些文章,其實使用c 進行熱更新是可以的,將需要更新的 打包成程式集,然後利用反射即可,但是也提到在ios平台是不行的,至於為什麼不行,就不再說了,然後就是推薦lua作為熱更新方案,但是,為啥lua就行?c 就不行?好多人都說lua能熱更新,是因為它是解釋型語言,不用編譯,在執行時能動態解...