C C 獲取int陣列元素的個數

2021-10-03 19:01:49 字數 1635 閱讀 1187

可以使用sizeof(a)/sizeof(a[0])sizeof(a)/sizeof(int)來獲取元素個數。

#include

using

namespace std;

int a=

;int

main()

; cout <<

sizeof

(a)/

sizeof

(int

)<< endl;

// 3

cout <<

sizeof

(b)/

sizeof

(b[0])

<< endl;

// 3

return0;

}

不可以使用sizeof(a)/sizeof(a[0])sizeof(a)/sizeof(int)來獲取元素個數。

因為sizeof(a)中的a被認為是指標型別的位元組(32位機子結果是4位元組,64位機子結果是8位元組),而不是陣列的所佔的位元組。

/* 64位機子上 */

#include

using

namespace std;

void

func

(int a)

intmain()

;func

(a);

return0;

}

一般acm比賽用這樣。

#include

using

namespace std;

int a=

;void

func()

intmain()

一般排序演算法就採用這樣的形式。

#include

using

namespace std;

void

func

(int a,

int length)

intmain()

;int length =

sizeof

(a)/

sizeof

(a[0])

;// int length = sizeof(a) / sizeof(int);

func

(a, length)

;return0;

}

記得在陣列的相關部分初始化全域性變數length

#include

using

namespace std;

int length;

void

func

(int a)

intmain()

; length =

sizeof

(a)/

sizeof

(a[0])

;// length = sizeof(a) / sizeof(int);

func

(a);

return0;

}

int 儲存大小 陣列元素個數

為了得到某個型別或某個變數在特定平台上的準確大小,您可以使用 sizeof 運算子。表示式 sizeof type 得到物件或型別的儲存位元組大小。下面的例項演示了獲取 int 型別的大小 例項 include include int main printf int 儲存大小 lu n sizeof...

C C 統計兩個陣列中不同元素的個數

c c 統計兩個陣列中不同元素的個數 統計兩個陣列中不同元素的個數 陣列中不含重複元素 include stdafx.h include stdio.h include stdlib.h includeusing namespace std int match2array int parray1,i...

C C 獲取陣列的長度

c c 中沒有提供 直接獲取陣列長度的函式,對於存放字串的字元陣列提供了乙個strlen函式獲取長度,那麼對於其他型別的陣列如何獲取他們的長度呢?其中一種方法是使 用sizeof array sizeof array 0 在c語言中習慣上在 使用時都把它定義成乙個巨集,比如 define get a...