C 中,怎麼求整型陣列的實際長度

時間 2022-05-06 01:31:18

1樓:匿名使用者

這個 你可以定義乙個 int nszie= 0;

每插入乙個數nszie+1;

或者自己寫乙個函式,遍歷一下陣列,就可以得到其大小。

2樓:

首先,cin>>a[20]; 這樣是不行的。這樣寫相當於只輸入陣列的第21個數,超出了陣列的最大範圍了。20個資料的陣列,最大下標是19

其次,陣列定義的時候,如果 沒有賦初值,那麼系統會自動給所有陣列元素自動賦值0

再次,想要求陣列長度可以這樣:

int a[20];

int len;

len = sizeof(a);

這樣求出來的值會是80,因為int資料佔4位元組,20個就是80位元組陣列的長度和你是否輸入陣列的值無關,反正定義時沒給初值就自動賦值0的只要是int型的陣列,每個元素都是4位元組。

3樓:

其實,你看一下下面這段**,可以求出整形陣列的實際長度#include

using namespace std;

int main()

;a[0] = 1;

a[1] = 2;

for (int i = 1; i < 10; i++)cout << length << endl;

return 0;}

4樓:倒霉熊

首先整型陣列不能這樣輸入:

int a[20];

cin>>a[20];

所以,你這個問題的前提就不對了。首先你應該知道輸入多少個整數,迴圈獲得輸入。

5樓:

不行吧,還沒發現有什麼辦法

c/c++中如何獲取陣列的長度

6樓:西西哩的小馬甲

方法:使用sizeof(array) / sizeof(array[0]), 在c語言中習慣上,在使用時都把它定義成乙個巨集。

比如#define get_array_len(array,len) 。而在c++中則可以使用模板技術定義乙個函式。

比如:template intgetarraylen(t& array)

這樣對於不同型別的數 組都可以使用這個巨集或者這個函式來獲取陣列的長度了。

基礎語法

1、c語言資料型別

c的資料型別包括:整型、字元型、實型或浮點型(單精度和雙精度)、列舉型別、陣列型別、結構體型別、共用體型別、指標型別和空型別。

2、常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某識別符號為名字,其值可以改變的量。識別符號是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第乙個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應儲存單元。

7樓:匿名使用者

1. 算術表示式:

#include

int main()

或者#include

int main()

2. 函式模板引數自動推斷:

#include

template

inline size_t count(  t ( & arr )[n] )

int main()

3.標準c++模板庫:

#include // 注意包含此標頭檔案.

#include

int main()

4.模板特化與自動型別推斷:

include

template

class computesize;

template

class computesize;

int main()

5. visual c++編譯器預定義巨集:

#include

#include

int main()

6. boost庫:

#include "boost/range.hpp"

#include

int main()

上面的方法適用於靜態陣列,動態的陣列(new)是無法獲取元素個數的。

上面的**,自己可以編譯執行看看,如果手上沒有編譯器測試上面的**或者編譯失敗,可以在下面的頁面上編譯執行(最新版本的visual c++):

8樓:匿名使用者

#include「string.h」

strlen(a)求字元陣列的大小是

sizeof(a)/sizeof(a[0]);這種基本上萬能

9樓:匿名使用者

就是sizeof(陣列物件)就可以啊,我這裡可以

c/c++中如何獲取陣列的長度?

10樓:西西哩的小馬甲

方法:使用sizeof(array) / sizeof(array[0]), 在c語言中習慣上,在使用時都把它定義成乙個巨集。

比如#define get_array_len(array,len) 。而在c++中則可以使用模板技術定義乙個函式。

比如:template intgetarraylen(t& array)

這樣對於不同型別的數 組都可以使用這個巨集或者這個函式來獲取陣列的長度了。

基礎語法

1、c語言資料型別

c的資料型別包括:整型、字元型、實型或浮點型(單精度和雙精度)、列舉型別、陣列型別、結構體型別、共用體型別、指標型別和空型別。

2、常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某識別符號為名字,其值可以改變的量。識別符號是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第乙個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應儲存單元。

c語言求數中較大者怎麼做,C語言 求2個數中較大者怎麼做???

中第四行是錯誤的,函式宣告不能在函式裡面的.放到main函式上面去.也可以用乙個巨集 define max x,y x y x y 和你的那個max函式一樣用法,但更簡潔易懂.scanf d,d a,b 這裡輸入8,5scanf d d a,b 這裡輸入乙個數按一次回車,或在數之間加空格 說明 sc...

急求C輸入異常處理,c 中的異常處理

double a,b,area console.writeline 請輸入a邊的值 while double.tryparse console.readline out a console.writeline 請輸入b邊的值 while double.tryparse console.readlin...

求用c在dataGridView中動態新增列的方法

用不同的sql語句不就行了 如第一datagridview 顯示溫度 select 溫度,時間 from。把查詢出的資訊 儲存到乙個datatable中 與該 datagridview 繫結 int i datagridview.columns.add 新增列 datagridview.column...

c中dataset資料查詢問題,C 中 怎麼模糊查詢DataSet中資料

你所說的是控制項聯動。我簡單的跟你說下吧 一張省份表和一張城市表 省份列 引用省份表外來鍵 和城市列 1.首先在下拉別表中載入dataset中的省份2.然後根據所選擇的省份,查詢其所有的城市,載入到dataset中。應該很明白吧?1 用下拉框的selectedindexchanged事件 2 當你選...

c語言怎麼求矩陣的乘積呢,C語言怎麼求矩陣的乘積呢?

語言只提供 等低階運算功能,高階的都必須 實現,包括次方開放運算,都是編寫 實現。你學過矩陣乘法,這就很容易,你需要定義乙個結構體,作為矩陣。矩陣很簡單,行數,列數,元素。typedef struct matrix 分別是行數,列數,資料指標,和資料最大長度。資料最好用指標不用陣列,是因為增加靈活性...