日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
c語(yǔ)言二維數(shù)組初始化的方法是什么
C語(yǔ)言二維數(shù)組的初始化方法有以下幾種: ,,1. 直接賦值,2. 循環(huán)對(duì)每個(gè)元素賦值,3. 借用memset/memset_s初始化為0或-1,4. 數(shù)組所有元素初始化為相同值(用于大數(shù)組初始化賊方便)

C語(yǔ)言二維數(shù)組初始化的方法

在C語(yǔ)言中,二維數(shù)組是一種常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)多個(gè)相同類(lèi)型的數(shù)據(jù),為了方便程序的使用和調(diào)試,我們需要對(duì)二維數(shù)組進(jìn)行初始化,本文將介紹C語(yǔ)言中二維數(shù)組的初始化方法,包括靜態(tài)初始化、動(dòng)態(tài)初始化和逐個(gè)元素初始化。

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、慈溪網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

1、靜態(tài)初始化

靜態(tài)初始化是指在編譯時(shí)為二維數(shù)組分配內(nèi)存空間并賦初值,靜態(tài)初始化的語(yǔ)法如下:

數(shù)據(jù)類(lèi)型 數(shù)組名[行數(shù)][列數(shù)] = {元素1, 元素2, ..., 元素n};

我們可以創(chuàng)建一個(gè)3行4列的整型二維數(shù)組,并為其賦予初值:

int arr[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

2、動(dòng)態(tài)初始化

動(dòng)態(tài)初始化是指在運(yùn)行時(shí)為二維數(shù)組分配內(nèi)存空間并賦初值,動(dòng)態(tài)初始化的語(yǔ)法如下:

數(shù)據(jù)類(lèi)型 *指針名;
指針名 = (數(shù)據(jù)類(lèi)型 *)malloc(行數(shù) * sizeof(數(shù)據(jù)類(lèi)型) * sizeof(列數(shù)));
if (指針名 == NULL) {
    printf("內(nèi)存分配失敗!
");
    exit(0);
} else {
    for (int i = 0; i < 行數(shù); i++) {
        for (int j = 0; j < 列數(shù); j++) {
            *(指針名 + i * sizeof(數(shù)據(jù)類(lèi)型) * sizeof(列數(shù)) + j * sizeof(數(shù)據(jù)類(lèi)型)) = 元素i行j列;
        }
    }
}

我們可以創(chuàng)建一個(gè)3行4列的整型二維數(shù)組,并為其賦予初值:

int main() {
    int **ptr;
    ptr = (int **)malloc(3 * sizeof(int *));
    if (ptr == NULL) {
        printf("內(nèi)存分配失?。?
");
        exit(0);
    } else {
        for (int i = 0; i < 3; i++) {
            ptr[i] = (int *)malloc(4 * sizeof(int));
            if (ptr[i] == NULL) {
                printf("內(nèi)存分配失??!
");
                exit(0);
            } else {
                for (int j = 0; j < 4; j++) {
                    ptr[i][j] = i * 4 + j + 1;
                }
            }
        }
    }
    // ... 其他代碼 ...
    free(ptr); // 最后記得釋放內(nèi)存空間
    return 0;
}

3、逐個(gè)元素初始化

逐個(gè)元素初始化是指在定義二維數(shù)組時(shí)為其指定初值,這種方法的優(yōu)點(diǎn)是不需要額外的內(nèi)存分配操作,但缺點(diǎn)是無(wú)法在運(yùn)行時(shí)修改數(shù)組的元素值,逐個(gè)元素初始化的語(yǔ)法如下:

數(shù)據(jù)類(lèi)型 數(shù)組名[行數(shù)][列數(shù)] = {{元素1, 元素2, ..., 元素n}, ...};

新聞名稱(chēng):c語(yǔ)言二維數(shù)組初始化的方法是什么
地址分享:http://www.dlmjj.cn/article/codgcpo.html