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

C語言數(shù)組的各種操作梳理

 更新時(shí)間:2022年04月22日 17:08:09   作者:馬桶上看算法  
數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計(jì)算機(jī)內(nèi)存里連續(xù)存放,地址編號(hào)最低的存儲(chǔ)單元存放數(shù)組的起始元素,地址編號(hào)最高的存儲(chǔ)單元存放數(shù)組的最后一個(gè)元素

一、一維數(shù)組

1.創(chuàng)建

//如何創(chuàng)建數(shù)組
int num[10];
char arr[10];
double sum[10];
float fix[10];
//變長數(shù)組
//數(shù)組的大小是變量
//C99語法支持
int a = 10;
int arr[a];

2.初始化

int arr[3] = {1,2,3};
//int數(shù)組類型
//arr數(shù)組名
//[3]數(shù)組有3個(gè)元素
//{1,2,3}初始化元素為1,2,3

3.使用

#include<stdio.h>
int main()
{
	int arr[10] = { 0 };//給每個(gè)元素初始化為0
     //數(shù)組是通過下標(biāo)訪問的
    //下標(biāo)是從0開始的
	int arr[4] = 5;//把下標(biāo)是4的元素給賦值為5
	printf("%d\n", arr[4]);//輸出的是數(shù)組中第5個(gè)元素的值
	return 0;
}
//結(jié)果是5

4.數(shù)組在內(nèi)存中的存儲(chǔ)

5.數(shù)組大小的計(jì)算

int arr[10];
int sz = sizeof(arr)/sizeof(arr[0]);
//sizeof(arr)計(jì)算的是數(shù)組的總大小
//sizeof(arr[0])計(jì)算的是第一個(gè)元素大小
//總大小/第一個(gè)元素大小=元素個(gè)數(shù)

二、二維數(shù)組

1.創(chuàng)建

//創(chuàng)建一個(gè)3行3列的數(shù)組
int arr[3][3];
char sum[3][3];
//[]行的部分可以省略,列的不可以
int arr[][3];
char sum[][3];

2.初始化

//創(chuàng)建的同時(shí)賦值
//3行3列的二維數(shù)組有9個(gè)元素
int arr[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int sum[][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

3.使用

二維數(shù)組行和列的下標(biāo)也是從0開始的

#include<stdio.h>
int main()
{
    int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
    int i = 0;
    int j = 0;
    //遍歷二維數(shù)組
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            //輸出行和列元素組成的坐標(biāo)
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

輸出結(jié)果:

4.二維數(shù)組在內(nèi)存中的存儲(chǔ)

#include<stdio.h>
int main()
{
    int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
    int i = 0;
    int j = 0;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("&arr[%d] [%d] = %p\n", i, j, &arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

輸出結(jié)果:

二維數(shù)組在內(nèi)存中也是連續(xù)存放的

一行是連續(xù),跨行也是連續(xù) 

三、數(shù)組作為函數(shù)參數(shù)

1.關(guān)于數(shù)組名是數(shù)組首元素的地址的兩個(gè)例外

(1)sizeof[數(shù)組名] - 數(shù)組名表示的是整個(gè)數(shù)組 - 計(jì)算的是整個(gè)數(shù)組的大小 - 單位是字節(jié)。

(2)&數(shù)組名 - 數(shù)組名表示整個(gè)數(shù)組 - 取出的是整個(gè)數(shù)組的地址。

2.冒泡排序

(1) 冒泡排序的思想:兩兩相鄰的元素進(jìn)行比較,并且可能會(huì)進(jìn)行交換

(2)代碼示例

#include<stdio.h>
void bubble_sort(int arr[], int sz)//形參arr本質(zhì)是指針
{
    //確定趟數(shù)
    int i = 0;
    //趟數(shù)
    for (i = 0; i < sz - 1; i++)
    {
        //一趟冒泡排序的過程
        int j = 0;
        //判斷相鄰的兩個(gè)數(shù)的大小,并交換
        //每一趟結(jié)束后要排的數(shù)字都會(huì)減少一個(gè)
        for (j = 0; j < sz - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                //交換
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}
int main()
{
    int i = 0;
    int arr[] = { 5,4,3,2,1,0 };
        //排序?yàn)樯?冒泡排序
        //計(jì)算數(shù)組元素個(gè)數(shù)
    int sz = sizeof(arr) / sizeof(arr[0]);
    bubble_sort(arr, sz);//冒泡排序的函數(shù)的調(diào)用
    //數(shù)組傳參的時(shí)候,
    //傳遞的其實(shí)是數(shù)組首元素的地址
    for (i = 0; i < sz; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}

輸出結(jié)果:

0 1 2 3 4 5 

到此這篇關(guān)于C語言數(shù)組的各種操作梳理的文章就介紹到這了,更多相關(guān)C語言數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • 使用Objective-C獲取IPHONE手機(jī)IMSI序列號(hào)

    使用Objective-C獲取IPHONE手機(jī)IMSI序列號(hào)

    這篇文章主要介紹了使用Objective-C獲取IPHONE手機(jī)IMSI序列號(hào)的方法以及通過IMSI序列號(hào)獲取運(yùn)營商、手機(jī)號(hào)的方法,非常的實(shí)用,有需要的小伙伴可以參考下。
    2015-04-04
  • C語言創(chuàng)建線程thread_create()的方法

    C語言創(chuàng)建線程thread_create()的方法

    這篇文章主要介紹了C語言創(chuàng)建線程thread_create()的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • C++編程中將引用類型作為函數(shù)參數(shù)的方法指南

    C++編程中將引用類型作為函數(shù)參數(shù)的方法指南

    這篇文章主要介紹了C++編程中將引用類型作為函數(shù)參數(shù)的方法指南,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • c++讀取數(shù)據(jù)文件到數(shù)組的實(shí)例

    c++讀取數(shù)據(jù)文件到數(shù)組的實(shí)例

    今天小編就為大家分享一篇c++讀取數(shù)據(jù)文件到數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表)

    C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(23.合并k個(gè)有序鏈表),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲

    C語言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)易掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C語言實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓

    C語言實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓

    數(shù)據(jù)壓縮是通過一系列的算法和技術(shù)將原始數(shù)據(jù)轉(zhuǎn)換為更緊湊的表示形式,以減少數(shù)據(jù)占用的存儲(chǔ)空間,數(shù)據(jù)解壓縮則是將壓縮后的數(shù)據(jù)恢復(fù)到原始的表示形式,本文給大家詳細(xì)介紹了C語言實(shí)現(xiàn)數(shù)據(jù)壓縮與解壓,需要的朋友可以參考下
    2023-08-08
  • C語言之復(fù)雜鏈表的復(fù)制詳解

    C語言之復(fù)雜鏈表的復(fù)制詳解

    這篇文章主要為大家詳細(xì)介紹了C語言之復(fù)雜鏈表的復(fù)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C/C++中的名字空間與作用域示例詳解

    C/C++中的名字空間與作用域示例詳解

    這篇文章主要給大家介紹了關(guān)于C/C++中名字空間與作用域的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c/c++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧。
    2017-09-09
  • 最新評(píng)論

    集贤县| 饶阳县| 平罗县| 巴林左旗| 绥滨县| 五峰| 荆门市| 怀来县| 米易县| 昌乐县| 西青区| 新昌县| 景洪市| 晋城| 永康市| 安岳县| 朝阳区| 奉新县| 铜鼓县| 崇左市| 关岭| 密云县| 溧水县| 望谟县| 洛南县| 六枝特区| 运城市| 桐柏县| 莱西市| 乌兰察布市| 玉田县| 宜宾县| 文山县| 枞阳县| 阿尔山市| 盱眙县| 宜君县| 綦江县| 武平县| 东乡| 会泽县|