簡述數組與指針的區別

時間:2020-11-21 14:16:23 筆試題目 我要投稿

簡述數組與指針的區別

  數組要么在靜態存儲區被創建(如全局數組),要么在棧上被創建。指針可以隨時指向任意類型的內存塊。

  (1)修改內容上的.差別

  char a[] = “hello”;

  a[0] = ‘X’;

  char *p = “world”; // 注意p 指向常量字符串

  p[0] = ‘X’; // 編譯器不能發現該錯誤,運行時錯誤

  (2) 用運算符sizeof 可以計算出數組的容量(字節數)。sizeof(p),p 為指針得到的是一個指針變量的字節數,而不是p 所指的內存容量。C++/C 語言沒有辦法知道指針所指的內存容量,除非在申請內存時記住它。注意當數組作為函數的參數進行傳遞時,該數組自動退化為同類型的指針。

  char a[] = “hello world”;

  char *p = a;

  cout<< sizeof(a) << endl; // 12 字節

  cout<< sizeof(p) << endl; // 4 字節

  計算數組和指針的內存容量

簡述數組與指針的區別

  void Func(char a[100])

  {

  cout<< sizeof(a) << endl; // 4 字節而不是100 字節

  }

【簡述數組與指針的區別】相關文章:

C++面試常用問題:"引用"與指針的區別12-11

在C語言中什么是指針和數組等價11-24

JavaScript中的索引數組、關聯數組和靜態數組、動態數組的分類講11-10

簡述紅茶與綠茶的不同08-31

JavaScript數組的棧方法與隊列方法11-22

簡述如何與上司溝通07-25

Javascript數組與字典用法分析方法11-20

如何獲取PHP數組的鍵與值呢11-17

助理與秘書的區別10-10

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
日韩国产欧美丝袜在线 | 中文字幕乱码一区二区免费 | 在线视频综合站 | 无遮挡十八禁在线视频国产 | 日本三级国产精品一卡两卡 | 中文乱码字幕在线观看直播 |