欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

答案是使用關(guān)鍵字 sizeof。

前面說過,用 sizeof 可以獲得數(shù)據(jù)類型或變量在內(nèi)存中所占的字節(jié)數(shù)。同樣,用 sizeof 也可以獲得整個數(shù)組在內(nèi)存中所占的字節(jié)數(shù)。因?yàn)閿?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;
}

輸出結(jié)果是:
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;
}

輸出結(jié)果是:
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); 

這種方法只適用于字符串?dāng)?shù)組

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

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

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

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

相關(guān)文章

  • C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法

    C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法

    這篇文章主要介紹了C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-06-06
  • C++實(shí)現(xiàn)不能被繼承的類實(shí)例分析

    C++實(shí)現(xiàn)不能被繼承的類實(shí)例分析

    這篇文章主要介紹了C++實(shí)現(xiàn)不能被繼承的類實(shí)例分析,對于C++初學(xué)者而言可以通過本文實(shí)例更好的理解類的原理及運(yùn)用,需要的朋友可以參考下
    2014-08-08
  • C語言數(shù)據(jù)的存儲和取出詳細(xì)講解

    C語言數(shù)據(jù)的存儲和取出詳細(xì)講解

    這篇文章主要介紹了C語言數(shù)據(jù)的存儲和取出詳細(xì)講解,作者使用圖文代碼實(shí)例講解,有感興趣的同學(xué)可以學(xué)習(xí)研究下
    2021-02-02
  • C++ 中回文數(shù)判斷簡單實(shí)例

    C++ 中回文數(shù)判斷簡單實(shí)例

    這篇文章主要介紹了C++ 中回文數(shù)判斷簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C語言算法練習(xí)之?dāng)?shù)組求素?cái)?shù)

    C語言算法練習(xí)之?dāng)?shù)組求素?cái)?shù)

    這篇文章主要為大家介紹了C語言算法練習(xí)中數(shù)組求素?cái)?shù)的實(shí)現(xiàn)方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下
    2022-09-09
  • QT布局管理詳解QVBoxLayout與QHBoxLayout及QGridLayout的使用

    QT布局管理詳解QVBoxLayout與QHBoxLayout及QGridLayout的使用

    在這篇文章中,你將知道水平布局、垂直布局、網(wǎng)格布局如何輕松上手,以純代碼方式展示。對齊方式,大小設(shè)置,圖片頭像匹配標(biāo)簽,布局器里面的組件大小隨意切換大小,認(rèn)真看完這篇文章,QT布局管理器熟練使用
    2022-06-06
  • C++?STL標(biāo)準(zhǔn)庫之std::list使用介紹及用法詳解

    C++?STL標(biāo)準(zhǔn)庫之std::list使用介紹及用法詳解

    std::list是支持常數(shù)時間從容器任何位置插入和移除元素的容器,下面這篇文章主要給大家介紹了關(guān)于C++?STL標(biāo)準(zhǔn)庫之std::list使用介紹及用法詳解的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • c++引用傳參和指針傳參的區(qū)別及說明

    c++引用傳參和指針傳參的區(qū)別及說明

    這篇文章主要介紹了c++引用傳參和指針傳參的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • C語言結(jié)構(gòu)數(shù)組實(shí)現(xiàn)貪吃蛇小游戲

    C語言結(jié)構(gòu)數(shù)組實(shí)現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言結(jié)構(gòu)數(shù)組實(shí)現(xiàn)貪吃蛇小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 淺談C++左值引用和右值引用

    淺談C++左值引用和右值引用

    這篇文章主要介紹了C++左值引用和右值引用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論