真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語(yǔ)言——?jiǎng)討B(tài)數(shù)組的創(chuàng)建和使用-創(chuàng)新互聯(lián)

C語(yǔ)言文章更新目錄

C語(yǔ)言學(xué)習(xí)資源匯總,史上最全面總結(jié),沒有之一
C/C++學(xué)習(xí)資源(百度云盤鏈接)
計(jì)算機(jī)二級(jí)資料(過級(jí)專用)
C語(yǔ)言學(xué)習(xí)路線(從入門到實(shí)戰(zhàn))
編寫C語(yǔ)言程序的7個(gè)步驟和編程機(jī)制
C語(yǔ)言基礎(chǔ)-第一個(gè)C程序
C語(yǔ)言基礎(chǔ)-簡(jiǎn)單程序分析
VS2019編寫簡(jiǎn)單的C程序示例
簡(jiǎn)單示例,VS2019調(diào)試C語(yǔ)言程序
C語(yǔ)言基礎(chǔ)-基本算法
C語(yǔ)言基礎(chǔ)-數(shù)據(jù)類型
C語(yǔ)言中的輸入輸出函數(shù)
C語(yǔ)言流程控制語(yǔ)句
C語(yǔ)言數(shù)組——一維數(shù)組
C語(yǔ)言數(shù)組——二維數(shù)組
C語(yǔ)言數(shù)組——字符數(shù)組
C語(yǔ)言中常用的6個(gè)字符串處理函數(shù)
精心收集了60個(gè)C語(yǔ)言項(xiàng)目源碼,分享給大家
C語(yǔ)言核心技術(shù)——函數(shù)
C代碼是怎樣跑起來的?
C語(yǔ)言實(shí)現(xiàn)字符串的加密和解密
C語(yǔ)言——文件的基本操作
使用C語(yǔ)言鏈表創(chuàng)建學(xué)生信息并且將信息打印輸出
圖解C語(yǔ)言冒泡排序算法,含代碼分析
實(shí)例分析C語(yǔ)言中strlen和sizeof的區(qū)別
開發(fā)C語(yǔ)言的3款神器,VS2019、VScode和IntelliJ Clion
動(dòng)圖圖解C語(yǔ)言選擇排序算法,含代碼分析
動(dòng)圖圖解C語(yǔ)言插入排序算法,含代碼分析
C語(yǔ)言指針數(shù)組和數(shù)組指針詳解
5分鐘搞懂C語(yǔ)言中的傳值和傳址

“真誠(chéng)服務(wù),讓網(wǎng)絡(luò)創(chuàng)造價(jià)值”是我們的服務(wù)理念,創(chuàng)新互聯(lián)公司團(tuán)隊(duì)十多年如一日始終堅(jiān)持在網(wǎng)站建設(shè)領(lǐng)域,為客戶提供優(yōu)質(zhì)服。不管你處于什么行業(yè),助你輕松跨入“互聯(lián)網(wǎng)+”時(shí)代,PC網(wǎng)站+手機(jī)網(wǎng)站+公眾號(hào)+微信小程序定制開發(fā)。

C語(yǔ)言實(shí)例專欄(持續(xù)更新中…)

什么是動(dòng)態(tài)數(shù)組?

動(dòng)態(tài)數(shù)組是相對(duì)于靜態(tài)數(shù)組而言的,從“動(dòng)”字可以看出它的靈活性。靜態(tài)數(shù)組的長(zhǎng)度是預(yù)先定義好的,在整個(gè)程序中,一旦給定數(shù)組大小后就無法改變。而動(dòng)態(tài)數(shù)組則不然,它可以根據(jù)程序需要重新指定數(shù)組大小。動(dòng)態(tài)數(shù)組的內(nèi)存空間是由堆動(dòng)態(tài)分配的,通過執(zhí)行代碼為其分配存儲(chǔ)空間,只有程序執(zhí)行到分配語(yǔ)句時(shí),才為其分配存儲(chǔ)空間。

動(dòng)態(tài)數(shù)組和一般數(shù)組(靜態(tài)數(shù)組)的區(qū)別
  • 靜態(tài)數(shù)組:創(chuàng)建非常方便,使用完也無需釋放,引用起來也簡(jiǎn)單,但是創(chuàng)建后無法改變數(shù)組大小是其致命的弱點(diǎn)。
  • 動(dòng)態(tài)數(shù)組:創(chuàng)建麻煩,使用完必須由程序員自己釋放,否則會(huì)引起內(nèi)存泄露,但是其使用非常靈活,能根據(jù)程序需要?jiǎng)討B(tài)分配大小。
動(dòng)態(tài)數(shù)組的創(chuàng)建和使用

在創(chuàng)建動(dòng)態(tài)數(shù)組的過程中要遵循一個(gè)原則,那就是從外層向里層逐層創(chuàng)建,從里層向外層逐層釋放。如果要?jiǎng)?chuàng)建一個(gè)N維的動(dòng)態(tài)數(shù)組,那么要從第一維開始創(chuàng)建,直到第N維為止;而釋放時(shí)與創(chuàng)建時(shí)相反,即從第N維開始釋放,直到第一維為止。下面我們一起來看看一維動(dòng)態(tài)數(shù)組和二維動(dòng)態(tài)數(shù)組。

一維動(dòng)態(tài)數(shù)組
  • 創(chuàng)建形式

類型說明符* 數(shù)組名 = (類型說明符*)malloc(數(shù)組長(zhǎng)度*sizeof(類型說明符))

  • 實(shí)例
//
// Created by 沖哥 on 2022/11/26.
// 微信關(guān)注【C語(yǔ)言中文社區(qū)】,免費(fèi)領(lǐng)取500G學(xué)習(xí)資料
//
#include#includeint main() {int n; //用來接收要?jiǎng)?chuàng)建的一維動(dòng)態(tài)數(shù)組的長(zhǎng)度
    int *arr;
    printf("請(qǐng)輸入所要?jiǎng)?chuàng)建的一維動(dòng)態(tài)數(shù)組的長(zhǎng)度:");
    scanf("%d", &n);
    if ((arr = (int *) malloc(sizeof(int) * n)) == NULL) {//使用malloc來動(dòng)態(tài)分配內(nèi)存
        printf("分配內(nèi)存空間失敗!\n");//如果內(nèi)存分配失敗,報(bào)錯(cuò)異常退出
        return -1;
    }
    for (int i = 0; i< n; i++) {//通過循環(huán)給數(shù)組賦值并在控制臺(tái)進(jìn)行打印
        arr[i] = i + 1;
        printf("%d\t", arr[i]);
    }
    free(arr); //釋放內(nèi)存空間

    return 0;
}
  • 運(yùn)行結(jié)果
請(qǐng)輸入所要?jiǎng)?chuàng)建的一維動(dòng)態(tài)數(shù)組的長(zhǎng)度:8
1    2       3       4       5       6       7       8
二維動(dòng)態(tài)數(shù)組
  • 創(chuàng)建形式
類型說明符** 數(shù)組名 = (類型說明符**)malloc(第一維長(zhǎng)度*sizeof(類型說明符*))
for(int  i=0;i<第一維長(zhǎng)度;i++){數(shù)組名[i]=(類型說明符*)malloc(第二維長(zhǎng)度*sizeof(類型說明符))
}
  • 實(shí)例
//
// Created by 沖哥 on 2022/11/26.
// 微信關(guān)注【C語(yǔ)言中文社區(qū)】,免費(fèi)領(lǐng)取500G學(xué)習(xí)資料
//
#include#includeint main() {int n1, n2;
    int **arr;
    printf("請(qǐng)輸入所要?jiǎng)?chuàng)建的動(dòng)態(tài)數(shù)組的第一維長(zhǎng)度:");
    scanf("%d", &n1);
    printf("請(qǐng)輸入所要?jiǎng)?chuàng)建的動(dòng)態(tài)數(shù)組的第二維長(zhǎng)度:");
    scanf("%d", &n2);

    if ((arr = (int **) malloc(n1 * sizeof(int *))) == NULL)//使用malloc給第一維分配內(nèi)存
    {printf("分配內(nèi)存空間失敗!\n");//如果內(nèi)存分配失敗,報(bào)錯(cuò)異常退出
        return -1;
    }

    for (int i = 0; i< n1; i++) {if ((arr[i] = (int *) malloc(n2 * sizeof(int))) == NULL)//使用malloc給第二維分配內(nèi)存
        {printf("分配內(nèi)存空間失敗!\n");//如果內(nèi)存分配失敗,報(bào)錯(cuò)異常退出
            return -1;
        }
    }
    for (int i = 0; i< n1; i++) {//通過循環(huán)給數(shù)組賦值并在控制臺(tái)進(jìn)行打印
        for (int j = 0; j< n2; j++) {arr[i][j] = i * n2 + j + 1;
            printf("%d\t", arr[i][j]);
        }
        printf("\n");
    }
    for (int i = 0; i< n1; i++) {free(arr[i]);//釋放第二維
    }
    free(arr);//釋放第一維

    return 0;
}
  • 運(yùn)行結(jié)果
請(qǐng)輸入所要?jiǎng)?chuàng)建的動(dòng)態(tài)數(shù)組的第一維長(zhǎng)度:5
請(qǐng)輸入所要?jiǎng)?chuàng)建的動(dòng)態(tài)數(shù)組的第二維長(zhǎng)度:4
1       2       3       4
5       6       7       8
9       10      11      12
13      14      15      16
17      18      19      20

代碼中的注釋已經(jīng)寫的很詳細(xì)了,如果還有什么疑問歡迎評(píng)論區(qū)留言。
如果您覺得本篇文章對(duì)您有幫助,請(qǐng)點(diǎn)贊,轉(zhuǎn)發(fā)給更多的人。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前題目:C語(yǔ)言——?jiǎng)討B(tài)數(shù)組的創(chuàng)建和使用-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/epjip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部