運算子sizeof可以確定陣列的大小(元素的個數),例如int型別a陣列中有10個整數,那麼sizeof(a)的值就是40,因為int型別通常占用4個位元組,所以a陣列的元素個數為40/4=10個
用陣列的大小除於陣列的元素大小可以得到陣列的長度
sizeof
(a)/
sizeof
(a[0
])
使用這種方法,即使陣列以後需要改變,也不需要改變迴圈
注意:有些編譯器會對i(
int)
(sizeof
(a)/
sizeof
(a[0
])**例子:
#include
intmain()
;int b[10]
=;double c[5]
=;double n;
n=sizeof
(c)/
sizeof
(c[0])
;printf
("len(a)=%d\n"
,sizeof
(a)/
sizeof
(a[0])
);printf
("len(b)=%d\n"
,sizeof
(b)/
sizeof
(b[0])
);printf
("len(c)=%lf\n"
,n);
return0;
}
指標 陣列與sizeof運算子
1 sizeof是c語言的乙個運算子 主要sizeof不是函式,雖然用法很像函式 sizeof的作用是用來返回 裡邊 的變數或者資料型別占用的記憶體位元組數。2 sizeof存在的價值 主要是因為在不同平台下各種資料型別所佔的記憶體位元組數不盡相同 譬如int在32位系統上為4位元組,在16位系統上...
(24)位運算子 sizeof運算子
位運算子作用於整數型別,並把運算物件看成是二進位制的集合。位運算子提供檢查和設定二進位制位的功能,滿足左結合律。但是位運算關於符號位如何處理沒有明確的規定,改變符號位的值是一種未定義的行為,所以建議僅將位運算子作用於無符號 型。左移運算子 右移運算子 的行為則依賴於其左側運算物件物件的型別 如果該運...
sizeof運算子詳解
1 sizeof應用在結構上的情況 請看下面的結構 struct mystruct 對結構mystruct採用sizeof會出現什麼結果呢?sizeof mystruct 為多少呢?也許你會這樣求 sizeof mystruct sizeof double sizeof char sizeof in...