c 中各型別陣列長度,C C 中如何獲取陣列的長度

時間 2022-02-18 01:05:18

1樓:匿名使用者

用於儲存這些程式設計師直接宣告的變數的記憶體區域叫棧,是一種高速連續的記憶體區域,其大小是有限制的,不超過2m。

一個int型資料佔有4個位元組,那麼能宣告2 * 1024 *1024 /4=524288個。

當然這是一種假設。

回答補充:一個int資料一共有4*8=32位,其中第一位是符號位,不計入,他可以表達最大的數值是2^31-1=2147483647。

如果你要用陣列的方式來拓展一個數值的大小,那麼你就需要自己定義計數演算法了,那樣比較的有難度。

附:double型的一共是8*8=64位。

2樓:匿名使用者

不同資料型別有不同的長度

byte : 8-bit (8位二進位制數,長度為2^8=256)short: 16-bit ( 2^16)int :

32-bit (2^32=約為十億單位的數)long: 64-bit (2^64)

float : 32-bit ( 10^38)double:64-bit (10^324)

3樓:來自上清鎮勤奮的美羊羊

看電腦記憶體大小了,一般個人電腦約在百萬級

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

4樓:西西哩的小馬甲

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

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

比如:template intgetarraylen(t& array)

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

基礎語法

1、c語言資料型別

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

2、常量與變數

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

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

5樓:匿名使用者

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++):

6樓:匿名使用者

#include「string.h」

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

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

7樓:匿名使用者

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

c++:如何獲得一個陣列的長度

8樓:草原上之狼

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

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

比如:template intgetarraylen(t& array)

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

基礎語法

1、c語言資料型別

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

2、常量與變數

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

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

c++中,怎麼求整型陣列的實際長度?

9樓:匿名使用者

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

每插入一個數nszie+1;

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

10樓:

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

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

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

int a[20];

int len;

len = sizeof(a);

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

11樓:

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

using namespace std;

int main()

;a[0] = 1;

a[1] = 2;

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

return 0;}

12樓:倒黴熊

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

int a[20];

cin>>a[20];

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

13樓:

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

c++中定義一個陣列一定要給出長度嗎?

14樓:匿名使用者

是的,定義陣列必須給出其長度,想要改變其大小也有幾種方案1、用巨集定義

#define arraysize 10int array[arraysize]

這樣每次程式執行時只需改變巨集就可以方便的改變陣列的大小2、動態生成

int n;

cin>>n;

int *array=new int[n];

這樣就可以使用了

3、使用stl中的vector,vector就相當於一個動態的陣列,可以隨時動態地增加大小,非常方便

在 c++中如何將陣列型別和長度作為引數傳入

15樓:匿名使用者

陣列型別可以自定義巨集

比如 int 定義成 1,char 定義成 2#define typeint 1

長度,是多少就傳多少唄。。

ps:完全不理解你為什麼要把陣列型別和長度傳成引數幹嘛用

16樓:匿名使用者

function (t t, int length)

給陣列賦值的時候就可計算出陣列的長度.

17樓:大衍之

你要實現什麼功能,如果說僅僅作為引數傳入的話,可以隨便寫了

諸如int function(int flag,int length)

C中的元素型別(關於陣列)

可以這樣實現 object arr new object 2 將object看做一個二維陣列,因為它的元素是object型別,可以儲存陣列 arr 0 new float 10 第一個元素儲存一個float陣列,其他型別同理 arr 1 new int 5 float arr 0 0 1.0f 還原...

如何在c c 中陣列的下標使用變數

扈懷煒 宣告陣列時不能使用變數座位下標,在引用陣列元素時可以使用變數,如上所示. 對於ansi 標準c及c 這都是標準沒有定義的,也就是說,最好認為不可以用變數代入陣列個數 c99標準中加入了這個特性,但c99標準還未流行。對於c 編譯器,gcc擴充了這個功能,但是它未被標準支援所以這樣的程式是不具...

C 中如何在二維陣列中查詢某個值

折柳成萌 思路 先定義一個字元陣列,接著輸入字串賦值,輸入需要查詢的字元,遍歷字元陣列,查詢輸入的字元,如果找到停止遍歷輸出位置,如果遍歷結束還沒找到,輸出沒有找到。參考 參考 includeusing namespace std int main if i strlen ch cout 沒有找到!...