3 8指標 陣列和sizeof運算子

2021-10-24 15:26:00 字數 615 閱讀 9481

(1)sizeof是c語言的乙個運算子(注意:sizeof不是函式,雖然用法很像函式),sizeof的作用是用來返回()裡面的變數或者資料型別占用的記憶體位元組數。

(2)sizeof存在的價值?主要是因為在不同平台下各種資料型別所佔的記憶體位元組數不盡相同(譬如int在32位系統中為4位元組,在16為系統中為2位元組…)。所以程式中需要使用sizeof來判斷當前變數/資料型別在當前環境下佔幾個位元組。

(3)不管是什麼型別的指標,在32位系統中所有指標的長度都是4;

(4)strlen是乙個c庫函式,用來返回乙個字串的長度(注意,字串的長度是不計算字串末尾的』\0』的)。一定要注意strlen接收的引數必須是乙個字串(字串的特徵是以『\0』結尾)

(5)sizeof測試乙個變數本身,和sizeof測試這個變數的型別,結果是一樣的。sizeof(陣列名)的時候,陣列名不做左值也不做右值,純粹就是陣列名的含義,那麼sizeof(陣列名)實際返回的是整個陣列所占用記憶體空間(以位元組位單位)。

(6)函式傳參,形參是可以用陣列的;函式形參是陣列時,實際傳遞的不是整個陣列,而是陣列的首元素首位址。也就是說函式傳參用陣列來傳,實際相當於傳遞的是指標(指標指向陣列的首元素首位址)。

#

38,指標與陣列

include 陣列名就是陣列的位址,陣列的位址就是首元素的位址 所以,獲取陣列位址有兩種方式 nums 0 或nums int main int argc,const char argv int p nums int p nums 0 return0 include int main int ar...

指標(三) 指標陣列

指標陣列定義 一維指標陣列的定義形式 型別名 陣列名 陣列長度 char p 5 乙個陣列,若其元素均為指標型別資料,稱為指標陣列,指標陣列中的每乙個元素都相當於乙個指標變數。指標陣列的初始化 使用位址為指標陣列初始化 char p 5 指標陣列和二級指標 int main char temp 定義...

15 指標的運算

1.比較運算 指標變數可以進行的比較運算包括 等。兩個指標變數 p 和 q,若 p q 說明這兩個指標變數指向同乙個變數。2.運算 運算是指標變數特有的運算,通過這個運算可得到指標變數中被指變數的值。3.減法運算 假設用兩個指標變數指向同乙個陣列中的不同元素,因為陣列中的元素在記憶體中存放的空間是連...