數組和指針的區別


1、概念

數組:存儲連續多個相同類型的數據;

指針:變量,存的是地址

2、賦值

同類型的指針變量可以相互賦值,數組不行,只能一個一個元素的賦值或拷貝

3、存儲方式

數組:連續內存空間。

指針:靈活,可以指向任意類型的數據。指向的是地址空間的內存。

4、sizeof

數組的sizeof求的是占用的空間(字節)。

在32位平台下,無論指針的類型是什么,sizeof(指針名)都是4,在64位平台下,無論指針的類型是什么,sizeof(指針名)都是8。

 

區分概念:指針數組,數組指針

1、指針數組:就是數組,元素是指針;

2、數組指針:就是指針,指向一個數組;

int (*arr)[8];
//由於[]的優先級比*高,因此在寫數組指針的時候必須將*arr用括號括起來
//arr先和*結合,說明p是一個指針變量
//這句話的意思就是:指針arr指向一個大小為8個整型的數組。

5、傳參

作為參數時,數組名退化為常量指針

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM