0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言中數(shù)組的用法

CHANBAEK ? 來(lái)源:工控小新 ? 作者:工控小新 ? 2023-11-24 17:48 ? 次閱讀

C語(yǔ)言的數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)多個(gè)相同類型的數(shù)據(jù),例如整數(shù),字符,浮點(diǎn)數(shù)等。數(shù)組的每個(gè)元素都有一個(gè)索引,用來(lái)表示它在數(shù)組中的位置。數(shù)組的索引從0開(kāi)始,也就是說(shuō),數(shù)組的第一個(gè)元素的索引是0,第二個(gè)元素的索引是1,以此類推。

圖片

C 語(yǔ)言中有兩種類型的數(shù)組:靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組。靜態(tài)數(shù)組是在編譯時(shí)聲明并分配內(nèi)存空間的數(shù)組,它的大小是固定的。動(dòng)態(tài)數(shù)組是在運(yùn)行時(shí)手動(dòng)分配內(nèi)存空間的數(shù)組,它的大小是可變的。靜態(tài)數(shù)組的生命周期與作用域相關(guān),而動(dòng)態(tài)數(shù)組的生命周期由程序員控制。在使用動(dòng)態(tài)數(shù)組時(shí),需要注意合理地分配和釋放內(nèi)存,以避免內(nèi)存泄漏和訪問(wèn)無(wú)效內(nèi)存的問(wèn)題。

數(shù)組的用法有以下幾點(diǎn):

  • 定義數(shù)組時(shí),需要指定數(shù)組的類型,名稱,和長(zhǎng)度,例如,int a[10];表示定義了一個(gè)名為a的整數(shù)數(shù)組,它的長(zhǎng)度是10,也就是說(shuō),它可以存儲(chǔ)10個(gè)整數(shù)。
  • 賦值數(shù)組時(shí),需要使用大括號(hào){}包含數(shù)組的元素,每個(gè)元素之間用逗號(hào)分隔,例如,int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};表示給數(shù)組a賦值為1到10的整數(shù)序列。
  • 訪問(wèn)數(shù)組時(shí),需要使用方括號(hào)[]包含數(shù)組的索引,例如,a[0]表示訪問(wèn)數(shù)組a的第一個(gè)元素,它的值是1,a[9]表示訪問(wèn)數(shù)組a的最后一個(gè)元素,它的值是10。
  • 修改數(shù)組時(shí),需要使用賦值運(yùn)算符=給數(shù)組的某個(gè)元素賦值,例如,a[0] = 100;表示把數(shù)組a的第一個(gè)元素的值修改為100,a[9] = 0;表示把數(shù)組a的最后一個(gè)元素的值修改為0。

要聲明一個(gè)靜態(tài)數(shù)組,可以使用以下語(yǔ)法:

數(shù)據(jù)類型 數(shù)組名[數(shù)組長(zhǎng)度];

例如:

int arr[10]; //聲明一個(gè)長(zhǎng)度為 10 的整型數(shù)組

要聲明一個(gè)動(dòng)態(tài)數(shù)組,可以使用以下語(yǔ)法:

數(shù)據(jù)類型 *數(shù)組名;
數(shù)組名 = (數(shù)據(jù)類型 *)malloc(數(shù)組長(zhǎng)度 * sizeof(數(shù)據(jù)類型));

例如:

int *arr; //聲明一個(gè)整型指針


arr = (int *)malloc(10 * sizeof(int)); //為指針?lè)峙?10 個(gè)整型大小的內(nèi)存空間

要訪問(wèn)或修改數(shù)組中的元素,可以使用以下語(yǔ)法:

數(shù)組名[索引]

例如:

arr[0] = 1; //將第一個(gè)元素賦值為 1


printf("%dn", arr[9]); //打印最后一個(gè)元素的值

要使用數(shù)組作為函數(shù)參數(shù),可以使用以下語(yǔ)法:

void 函數(shù)名(數(shù)據(jù)類型 *參數(shù)名);

或者

void 函數(shù)名(數(shù)據(jù)類型 參數(shù)名[數(shù)組長(zhǎng)度]);

或者

void 函數(shù)名(數(shù)據(jù)類型 參數(shù)名[]);

例如:

void printArray(int *arr); //定義一個(gè)打印整型指針的函數(shù)


void printArray(int arr[10]); //定義一個(gè)打印長(zhǎng)度為 10 的整型數(shù)組的函數(shù)


void printArray(int arr[]); //定義一個(gè)打印未定義長(zhǎng)度的整型數(shù)組的函數(shù)

要調(diào)用這些函數(shù),可以使用以下語(yǔ)法:

函數(shù)名(實(shí)際參數(shù));

例如:

printArray(arr); //調(diào)用打印函數(shù),并傳遞 arr 作為實(shí)際參數(shù)

下面是一個(gè)完整的例子,演示了如何使用靜態(tài)和動(dòng)態(tài)數(shù)組,并將它們作為函數(shù)參數(shù)傳遞:

#include < stdio.h >
#include < stdlib.h >
//定義一個(gè)打印整型指針的函數(shù)
void printArray(int *arr, int len)
{
    int i;
    for (i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
    printf("n");
}
int main()
{
    int i;
    //聲明并初始化一個(gè)靜態(tài)數(shù)組
    int static_arr[5] = {1, 2, 3, 4, 5};
    //聲明并分配一個(gè)動(dòng)態(tài)數(shù)組
    int *dynamic_arr;
    dynamic_arr = (int *)malloc(5 * sizeof(int));
    //給動(dòng)態(tài)數(shù)組賦值
    for (i = 0; i < 5; i++)
{


        dynamic_arr[i] = i + 6;
    }
    //打印兩個(gè)數(shù)組
    printArray(static_arr, 5);
    printArray(dynamic_arr, 5);
    //釋放動(dòng)態(tài)數(shù)組
    free(dynamic_arr);
    return 0;
}

輸出結(jié)果為:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3042

    瀏覽量

    74179
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137256
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4344

    瀏覽量

    62809
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    573

    瀏覽量

    40168
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25990
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言中數(shù)組和結(jié)構(gòu)體的內(nèi)存表示和布局

    C語(yǔ)言中,數(shù)組和結(jié)構(gòu)體都可以代表一塊內(nèi)存,但為什么結(jié)構(gòu)體可以直接賦值,而數(shù)組不可以?這個(gè)問(wèn)題涉及到C語(yǔ)言
    發(fā)表于 08-28 10:54 ?1692次閱讀

    [推薦][討論]單片機(jī)的C語(yǔ)言中數(shù)組用法

    問(wèn)題。數(shù)組與普通變量一樣,也必須先定義,后使用。數(shù)組C51語(yǔ)言的地位舉足輕重,因此深入地了解數(shù)組是很有必要的。下面就對(duì)
    發(fā)表于 03-12 10:24

    C語(yǔ)言中怎么判斷數(shù)組元素的個(gè)數(shù)

    C語(yǔ)言中怎么判斷數(shù)組元素的個(gè)數(shù),如數(shù)組:int array[]={45,56,76,234,1,34,23,2,3};
    發(fā)表于 05-26 11:49

    C語(yǔ)言中atoi()函數(shù)的用法 相關(guān)資料分享

    C語(yǔ)言中atoi()函數(shù)的用法
    發(fā)表于 07-01 08:12

    如何使用單片機(jī)的C語(yǔ)言中數(shù)組

    如何使用單片機(jī)的C語(yǔ)言中數(shù)組?
    發(fā)表于 10-15 08:59

    單片機(jī)C語(yǔ)言中數(shù)組用法

    數(shù)組與普通變量一樣,也必須先定義,后使用。數(shù)組C51語(yǔ)言的地位舉足輕重,因此深入地了解數(shù)組是很有必要的。下面就對(duì)
    發(fā)表于 10-10 11:33 ?1.5w次閱讀

    單片機(jī)的C語(yǔ)言中數(shù)組用法

    發(fā)表于 04-30 11:28 ?18次下載

    C語(yǔ)言中的#和##的用法

    和conStr的參數(shù),并且宏conStr和toString中均含有#或者##符號(hào),所以A不能被解引用。導(dǎo)致不符合預(yù)期的情況出現(xiàn)。 3.2 解決方案 結(jié)果: 責(zé)任編輯:xj 原文標(biāo)題:C語(yǔ)言中#和##的用法 文章出處:【微信公眾號(hào)
    的頭像 發(fā)表于 12-06 09:34 ?7.6w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>的#和##的<b class='flag-5'>用法</b>

    C語(yǔ)言中的typedef的用法

    在以前的學(xué)習(xí)中對(duì)于C語(yǔ)言中typedef和define的認(rèn)識(shí)是,#define是宏,作用是簡(jiǎn)單的替換,而typedef也是替換,只不過(guò)比define高級(jí)的是在替換的時(shí)候會(huì)進(jìn)行語(yǔ)法檢查。但是后來(lái)
    發(fā)表于 01-13 13:36 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>的typedef的<b class='flag-5'>用法</b>

    C語(yǔ)言中的char數(shù)組和char指針有什么區(qū)別?

    讓我們通過(guò)下面的例子,來(lái)了解 C語(yǔ)言中字符數(shù)組和字符指針之間的區(qū)別。
    的頭像 發(fā)表于 01-29 16:35 ?2772次閱讀

    C語(yǔ)言中數(shù)組空間動(dòng)態(tài)開(kāi)辟

    C語(yǔ)言中數(shù)組空間動(dòng)態(tài)開(kāi)辟 在C語(yǔ)言中,必不可少的需要使用到數(shù)組,通常為了動(dòng)態(tài)的開(kāi)辟
    的頭像 發(fā)表于 02-10 12:42 ?2200次閱讀

    C語(yǔ)言中數(shù)組在內(nèi)存中如何表示

    C語(yǔ)言中數(shù)組在內(nèi)存中是怎樣表示的,今天就給大家聊聊這個(gè)話題。
    的頭像 發(fā)表于 02-15 14:35 ?952次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b><b class='flag-5'>數(shù)組</b>在內(nèi)存中如何表示

    C語(yǔ)言中什么是指針數(shù)組

    C語(yǔ)言中一個(gè)數(shù)組,若其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組,也就是說(shuō),指針數(shù)組中的每一個(gè)元素都存放一個(gè)地址,相當(dāng)于一個(gè)指針變量。
    的頭像 發(fā)表于 03-10 15:26 ?1829次閱讀

    C語(yǔ)言如何創(chuàng)建數(shù)組

    用法和注意事項(xiàng)。 要?jiǎng)?chuàng)建一個(gè)數(shù)組,首先需要確定數(shù)組的數(shù)據(jù)類型和大小。C語(yǔ)言中的數(shù)據(jù)類型包括基本數(shù)據(jù)類型(如整數(shù)、浮點(diǎn)數(shù)、字符等)以及派生數(shù)據(jù)
    的頭像 發(fā)表于 11-24 10:08 ?1976次閱讀

    c語(yǔ)言中數(shù)組怎么定義

    C語(yǔ)言中,數(shù)組是一種用來(lái)存儲(chǔ)相同類型元素的數(shù)據(jù)結(jié)構(gòu)。它可以存儲(chǔ)多個(gè)元素,并通過(guò)一個(gè)共同的名稱來(lái)引用這些元素。數(shù)組是一種很重要的數(shù)據(jù)結(jié)構(gòu),可以用于解決很多實(shí)際的問(wèn)題。 在
    的頭像 發(fā)表于 11-24 10:11 ?3184次閱讀