C語(yǔ)言數(shù)組快速入門詳細(xì)講解
1.一維數(shù)組
數(shù)組的定義: 數(shù)組是一組相同類型元素的集合
a.一維數(shù)組的創(chuàng)建
數(shù)組的創(chuàng)建格式為: 數(shù)組的類型 數(shù)組名[ 常量表達(dá)式] ;

關(guān)于數(shù)組創(chuàng)建易錯(cuò)點(diǎn):

b.一維數(shù)組的初始化
類似于給整型變量初始化的過(guò)程:
int a=2; int b=5; int c=66;

關(guān)于數(shù)組初始化易錯(cuò)點(diǎn):
字符串的結(jié)束標(biāo)志是 \0
特別注意:數(shù)組長(zhǎng)度和字符串長(zhǎng)度不是一個(gè)東西

#include <stdio.h>
#include <string.h>
int main()
{
int arr1[3] = { 1,2,3 };
//數(shù)組有1、2、3這三個(gè)元素
int arr2[4] = { 1,2,3 };
//數(shù)組有1、2、3、0這四個(gè)元素
int arr3[4] = { 0 };
//數(shù)組有0、0、0、0這四個(gè)元素
char ch4[5] = "dat";
//數(shù)組有d、a、t、\0、0這五個(gè)元素
char ch5[] = "dat";
//數(shù)組有d、a、t、\0這四個(gè)元素
char arr6[] = "abc";
//數(shù)組有a、b、c、\0四個(gè)元素,該數(shù)組長(zhǎng)度為3,字符串長(zhǎng)度為3
char arr7[] = {'a','b','c'};
//數(shù)組有a、b、c三個(gè)元素,該數(shù)組長(zhǎng)度為3,字符串長(zhǎng)度為隨機(jī)值
printf("%d\n", strlen(arr6));//3
printf("%d\n", strlen(arr7));//隨機(jī)值
printf("%s\n", arr6);//得abc
printf("%s\n", arr7);//abc亂七八糟
return 0;
}c.一維數(shù)組的使用
訪問(wèn)數(shù)組中的某個(gè)元素用到[ ]下標(biāo)引用操作符, 數(shù)組是使用下標(biāo)來(lái)訪問(wèn)的,下標(biāo)是從0開(kāi)始
計(jì)算數(shù)組的大小如下代碼:
#include <stdio.h>
int main()
{
int arr[10] = {0};
int sz = sizeof(arr) / sizeof(arr[0]);
printf("則數(shù)組的大小為%d\n",sz);
return 0;
}d.一維數(shù)組在內(nèi)存中的存儲(chǔ)
一維數(shù)組在內(nèi)存中連續(xù)存放
數(shù)組的存放地址由低到高變化,看代碼:

2.二維數(shù)組
一維數(shù)組長(zhǎng)這樣:
int arr [ 10 ]= { 0 } ;
二維數(shù)組長(zhǎng)這樣:
int arr [ 3] [4 ]= { {1,2}, {3,4}} ;

a.二維數(shù)組的創(chuàng)建
int arr1 [ 3 ] [ 4 ] ; 三行四列
char arr2 [ 4] [ 4 ] ; 四行四列
float arr3 [ 3 ] [ 6] ; 三行六列
特別注意:二維數(shù)組中,行可以省略,如:
int arr [ ] [ 4 ] ;
b.二維數(shù)組的初始化
int arr1 [ 3 ] [ 4 ] = {1,2,3,4,5};
第一行: 1 2 3 4
第二行: 5 0 0 0
第三行: 0 0 0 0
char arr2 [ 4] [ 4 ] ={ {1,2} , {3,4} } ;
第一行: 1 2 0 0
第二行: 3 4 0 0
第三行: 0 0 0 0
第四行: 0 0 0 0
float arr3 [ 3 ] [ 6] = { {1,2} , {3,4} , {5,6,0,2} } ;
第一行: 1 2 0 0 0 0
第二行: 3 4 0 0 0 0
第三行: 5 6 0 2 0 0
特別注意:未完全初始化的部分都是0
c.二維數(shù)組的使用
和一維數(shù)組相同,二維數(shù)組的使用也是通過(guò)下標(biāo)的方式實(shí)現(xiàn), 行和列的順序,以及下標(biāo)的的順序不能錯(cuò)哦

d.二維數(shù)組在內(nèi)存中的存儲(chǔ)
通過(guò)下圖,我們發(fā)現(xiàn):
二維數(shù)組在內(nèi)存中也是連續(xù)存儲(chǔ)的
數(shù)組的存放地址也是由低到高變化

3.數(shù)組越界
數(shù)組的下標(biāo)是有限制的
規(guī)定:數(shù)組下標(biāo)從0開(kāi)始,最后一個(gè)元素下標(biāo)為n-1
看以下代碼:
若i=3;則有0 1 2 3 四個(gè)下標(biāo)就有四個(gè)元素,
若j=4;則有0 1 2 3 4 五個(gè)下標(biāo)就有五個(gè)元素

4.數(shù)組作為函數(shù)參數(shù)
這里用個(gè)冒泡函數(shù):將元素排序,來(lái)舉例
這個(gè)代碼通過(guò)調(diào)試,才能得出效果
#include <stdio.h>
void bubble_sort(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int j = 0;
for (j = 0; j < sz - i - 1; j++)
{
if (arr[j] > arr[i])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[] = { 1,3,6,8,2,9 };
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, sz);
return 0;
}5.數(shù)組名

數(shù)組名就是首元素的地址(倆個(gè)例外)
1.sizeof(數(shù)組名)計(jì)算的是數(shù)組的大小
2.&數(shù)組名,取出的是數(shù)組的地址
到此這篇關(guān)于C語(yǔ)言數(shù)組快速入門詳細(xì)講解的文章就介紹到這了,更多相關(guān)C語(yǔ)言數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例
這篇文章主要介紹了C++中實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例,例子帶有執(zhí)行時(shí)間統(tǒng)計(jì)還可以簡(jiǎn)單看一下效率對(duì)比,需要的朋友可以參考下2016-04-04
C++ Qt開(kāi)發(fā)之PushButton按鈕組件的使用詳解
Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,本文將重點(diǎn)介紹QPushButton按鈕組件的常用方法及靈活運(yùn)用,感興趣的小伙伴可以學(xué)習(xí)一下2023-12-12
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開(kāi)始了)[五]
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開(kāi)始了)[五]...2007-02-02
深入解析Radix Sort基數(shù)排序算法思想及C語(yǔ)言實(shí)現(xiàn)示例
基數(shù)排序和桶排序、計(jì)數(shù)排序共同是三種最常用的線性排序算法,這里我們就來(lái)深入解析Radix Sort基數(shù)排序算法思想及C語(yǔ)言實(shí)現(xiàn)示例,需要的朋友可以參考下2016-07-07
基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷游戲
這篇文章主要為大家詳細(xì)介紹了基于C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
QT已有項(xiàng)目導(dǎo)入工程時(shí)注意事項(xiàng)圖文詳解
QT開(kāi)發(fā)這幾年大大小小項(xiàng)目做了不少,花了點(diǎn)時(shí)間對(duì)知識(shí)點(diǎn)總結(jié)整合了一部分,下面這篇文章主要給大家介紹了關(guān)于QT已有項(xiàng)目導(dǎo)入工程時(shí)注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2023-11-11

