最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言獲取數(shù)組長度的幾種方法

 更新時間:2021年01月29日 11:03:14   投稿:zx  
這篇文章主要介紹了C語言獲取數(shù)組長度的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

如何通過編程的手段獲取某個數(shù)組的長度呢?

答案是使用關鍵字 sizeof。

前面說過,用 sizeof 可以獲得數(shù)據(jù)類型或變量在內(nèi)存中所占的字節(jié)數(shù)。同樣,用 sizeof 也可以獲得整個數(shù)組在內(nèi)存中所占的字節(jié)數(shù)。因為數(shù)組中每個元素的類型都是一樣的,在內(nèi)存中所占的字節(jié)數(shù)都是相同的,所以總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度。

那么如何用 sizeof 獲得數(shù)組總的字節(jié)數(shù)呢?只要對數(shù)組名使用 sizeof,求出的就是該數(shù)組總的字節(jié)數(shù)。下面寫一個程序看一下:

# include <stdio.h>
int main(void)
{  
  int a[10] = {0};
  printf("sizeof(a) = %d\n", sizeof(a));
  return 0;
}

輸出結果是:
sizeof(a) = 40

數(shù)組 a 是 int 型的,每個元素占 4 字節(jié),所以長度為 10 的數(shù)組在內(nèi)存中所占的字節(jié)數(shù)就是 40。而總的字節(jié)數(shù)除以一個元素所占的字節(jié)數(shù)就是數(shù)組的長度,如下面這個程序:

# include <stdio.h>
int main(void)
{  
  int a[10] = {0};
  int cnt = sizeof(a) / sizeof(a[0]);
  printf("cnt = %d\n", cnt);
  return 0;
}

輸出結果是:
cnt = 10

這樣不管數(shù)組是增加還是減少元素,sizeof(a)/sizeof(a[0]) 都能自動求出數(shù)組的長度。需要注意的是,它求出的是數(shù)組的總長度,而不是數(shù)組中存放的有意義的數(shù)據(jù)的個數(shù)。比如定義一個int型的數(shù)組:

int a[10] = {1, 2, 3, 4, 5};

我們只初始化了五個元素,但是 sizeof(a)/sizeof(a[0]) 求出的是 10,而不是 5。換句話說,我們無法通過 sizeof(a)/sizeof(a[0]) 求出數(shù)組中有多少個有意義的數(shù)據(jù)。

使用庫函數(shù)strlen

lenght = strlen(str); 

這種方法只適用于字符串數(shù)組

使用while循環(huán)遍歷計數(shù)

int i=0;
while(str[i++] != '\0');

這種方法適用于計算數(shù)組中實際元素多少

到此這篇關于C語言獲取數(shù)組長度的幾種方法的文章就介紹到這了,更多相關C語言獲取數(shù)組長度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++在vscode中的多文件編程問題解讀

    C++在vscode中的多文件編程問題解讀

    這篇文章主要介紹了C++在vscode中的多文件編程問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C++超詳細介紹模板

    C++超詳細介紹模板

    人們需要編寫多個形式和功能都相似的函數(shù),因此有了函數(shù)模板來減少重復勞動;人們也需要編寫多個形式和功能都相似的類,于是 C++ 引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程序員的重復勞動
    2022-07-07
  • C++詳細分析線程間的同步通信

    C++詳細分析線程間的同步通信

    線程間不通信的話,每個線程受CPU的調(diào)度,沒有任何執(zhí)行上的順序可言,線程1和線程2是根據(jù)CPU調(diào)度算法來的,兩個線程都有可能先運行,是不確定的,線程間的運行順序是不確定的,所以多線程程序出問題,難以復現(xiàn),本章我們就來了解線程間的同步通信
    2022-05-05
  • C語言的函數(shù)概念與規(guī)則你了解嗎

    C語言的函數(shù)概念與規(guī)則你了解嗎

    這篇文章主要介紹了C語言中的函數(shù)概念與規(guī)則,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • C++哈希表之閉散列方法的模擬實現(xiàn)詳解

    C++哈希表之閉散列方法的模擬實現(xiàn)詳解

    閉散列指(開放定址法)發(fā)生沖突時,如果哈希表沒有被填滿,則表內(nèi)一定還有其他空閑位置,可以把沖突值放到下一個沒有被占用的空余位置上。本文將模擬實現(xiàn)閉散列方法,需要的可以參考一下
    2022-11-11
  • 實例講解C++ 命名空間

    實例講解C++ 命名空間

    這篇文章主要介紹了C++ 命名空間的的相關資料,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2020-06-06
  • C++利用靜態(tài)成員或類模板構建鏈表的方法講解

    C++利用靜態(tài)成員或類模板構建鏈表的方法講解

    這篇文章主要介紹了C++利用靜態(tài)成員或類模板構建鏈表的方法講解,鏈表是基礎的數(shù)據(jù)結構,而在C++中構件單鏈表還是稍顯復雜,需要的朋友可以參考下
    2016-04-04
  • 一文搞懂C++ 動態(tài)內(nèi)存

    一文搞懂C++ 動態(tài)內(nèi)存

    這篇文章主要介紹了C++ 動態(tài)內(nèi)存的的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • C++11線程、互斥量以及條件變量示例詳解

    C++11線程、互斥量以及條件變量示例詳解

    這篇文章主要介紹了C++11線程、互斥量以及條件變量,C++11增加了線程以及線程相關的類,很方便地支持了并發(fā)編程,使得編寫多線程程序的可移植性得到了很大的提高,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下
    2023-03-03
  • C語言開發(fā)之歸并排序詳解及實例

    C語言開發(fā)之歸并排序詳解及實例

    這篇文章主要介紹了 C語言開發(fā)之歸并排序詳解及實例的相關資料,需要的朋友可以參考下
    2017-03-03

最新評論

兴业县| 鄂温| 浦县| 勐海县| 建平县| 定边县| 布尔津县| 湟源县| 夏邑县| 安新县| 陆川县| 马关县| 晋州市| 原阳县| 丽水市| 松桃| 乐山市| 元谋县| 昌图县| 曲阳县| 太谷县| 丰镇市| 新竹县| 双辽市| 海盐县| 尼木县| 渑池县| 紫阳县| 随州市| 博客| 黔南| 恩施市| 民勤县| 亚东县| 湖口县| 吴堡县| 锡林浩特市| 河源市| 周口市| 眉山市| 舟曲县|