C語言的數組是一種數據結構,它可以存儲多個相同類型的數據,例如整數,字符,浮點數等。數組的每個元素都有一個索引,用來表示它在數組中的位置。數組的索引從0開始,也就是說,數組的第一個元素的索引是0,第二個元素的索引是1,以此類推。

C 語言中有兩種類型的數組:靜態數組和動態數組。靜態數組是在編譯時聲明并分配內存空間的數組,它的大小是固定的。動態數組是在運行時手動分配內存空間的數組,它的大小是可變的。靜態數組的生命周期與作用域相關,而動態數組的生命周期由程序員控制。在使用動態數組時,需要注意合理地分配和釋放內存,以避免內存泄漏和訪問無效內存的問題。
數組的用法有以下幾點:
- 定義數組時,需要指定數組的類型,名稱,和長度,例如,int a[10];表示定義了一個名為a的整數數組,它的長度是10,也就是說,它可以存儲10個整數。
- 賦值數組時,需要使用大括號{}包含數組的元素,每個元素之間用逗號分隔,例如,int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};表示給數組a賦值為1到10的整數序列。
- 訪問數組時,需要使用方括號[]包含數組的索引,例如,a[0]表示訪問數組a的第一個元素,它的值是1,a[9]表示訪問數組a的最后一個元素,它的值是10。
- 修改數組時,需要使用賦值運算符=給數組的某個元素賦值,例如,a[0] = 100;表示把數組a的第一個元素的值修改為100,a[9] = 0;表示把數組a的最后一個元素的值修改為0。
要聲明一個靜態數組,可以使用以下語法:
數據類型 數組名[數組長度];
例如:
int arr[10]; //聲明一個長度為 10 的整型數組
要聲明一個動態數組,可以使用以下語法:
數據類型 *數組名;
數組名 = (數據類型 *)malloc(數組長度 * sizeof(數據類型));
例如:
int *arr; //聲明一個整型指針
arr = (int *)malloc(10 * sizeof(int)); //為指針分配 10 個整型大小的內存空間
要訪問或修改數組中的元素,可以使用以下語法:
數組名[索引]
例如:
arr[0] = 1; //將第一個元素賦值為 1
printf("%dn", arr[9]); //打印最后一個元素的值
要使用數組作為函數參數,可以使用以下語法:
void 函數名(數據類型 *參數名);
或者
void 函數名(數據類型 參數名[數組長度]);
或者
void 函數名(數據類型 參數名[]);
例如:
void printArray(int *arr); //定義一個打印整型指針的函數
void printArray(int arr[10]); //定義一個打印長度為 10 的整型數組的函數
void printArray(int arr[]); //定義一個打印未定義長度的整型數組的函數
要調用這些函數,可以使用以下語法:
函數名(實際參數);
例如:
printArray(arr); //調用打印函數,并傳遞 arr 作為實際參數
下面是一個完整的例子,演示了如何使用靜態和動態數組,并將它們作為函數參數傳遞:
#include < stdio.h >
#include < stdlib.h >
//定義一個打印整型指針的函數
void printArray(int *arr, int len)
{
int i;
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("n");
}
int main()
{
int i;
//聲明并初始化一個靜態數組
int static_arr[5] = {1, 2, 3, 4, 5};
//聲明并分配一個動態數組
int *dynamic_arr;
dynamic_arr = (int *)malloc(5 * sizeof(int));
//給動態數組賦值
for (i = 0; i < 5; i++)
{
dynamic_arr[i] = i + 6;
}
//打印兩個數組
printArray(static_arr, 5);
printArray(dynamic_arr, 5);
//釋放動態數組
free(dynamic_arr);
return 0;
}
輸出結果為:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
內存
+關注
關注
9文章
3209瀏覽量
76357 -
C語言
+關注
關注
183文章
7644瀏覽量
145565 -
函數
+關注
關注
3文章
4417瀏覽量
67499 -
數據結構
+關注
關注
3文章
573瀏覽量
41584 -
數組
+關注
關注
1文章
420瀏覽量
27351
發布評論請先 登錄
相關推薦
熱點推薦
單片機的C語言中數組的用法
發表于 04-30 11:28
?18次下載
C語言中的#和##的用法
和conStr的參數,并且宏conStr和toString中均含有#或者##符號,所以A不能被解引用。導致不符合預期的情況出現。 3.2 解決方案 結果: 責任編輯:xj 原文標題:C語言中#和##的用法 文章出處:【微信公眾號
C語言中的typedef的用法
在以前的學習中對于C語言中typedef和define的認識是,#define是宏,作用是簡單的替換,而typedef也是替換,只不過比define高級的是在替換的時候會進行語法檢查。但是后來
發表于 01-13 13:36
?0次下載
C語言中什么是指針數組
在C語言中一個數組,若其元素均為指針類型數據,稱為指針數組,也就是說,指針數組中的每一個元素都存放一個地址,相當于一個指針變量。
C語言如何創建數組
用法和注意事項。 要創建一個數組,首先需要確定數組的數據類型和大小。C語言中的數據類型包括基本數據類型(如整數、浮點數、字符等)以及派生數據
c語言中數組怎么定義
C語言中,數組是一種用來存儲相同類型元素的數據結構。它可以存儲多個元素,并通過一個共同的名稱來引用這些元素。數組是一種很重要的數據結構,可以用于解決很多實際的問題。 在
C語言中數組的用法
評論