亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語(yǔ)言柔性數(shù)組的實(shí)現(xiàn)示例

 更新時(shí)間:2024年03月01日 08:27:01   作者:ainuliba  
柔性數(shù)組既數(shù)組大小待定的數(shù)組, C語(yǔ)言中結(jié)構(gòu)體的最后一個(gè)元素可以是大小未知的數(shù)組,本文就來(lái)介紹一下柔性數(shù)組的用法,感興趣的可以了解一下

柔性數(shù)組:結(jié)構(gòu)體中最后一個(gè)元素是未知大小的數(shù)組,數(shù)組大小可變

柔性數(shù)組特點(diǎn)

  • ①結(jié)構(gòu)體中的柔性數(shù)組成員前面必須至少有一個(gè)其他成員
  • ②sizeof返回的結(jié)構(gòu)體大小不包括柔性數(shù)組的內(nèi)存
  • ③包含柔性數(shù)組成員的結(jié)構(gòu)體要用malloc()函數(shù)進(jìn)行內(nèi)存分配

使用free函數(shù)釋放一塊內(nèi)存,不能多次釋放同一塊內(nèi)存 ,否則程序會(huì)崩潰

柔性數(shù)組使用舉例(結(jié)構(gòu)體成員內(nèi)存是連續(xù)的)

1.

#include<stdio.h>
#include<stdlib.h>

struct S{
    int a;
    int arr[0];
};
int main(){
    struct S stu;
    printf("%d\n",sizeof(stu));
    //結(jié)果是4 數(shù)不包含柔性數(shù)組的大小
    
    struct S *temp=(struct S*)malloc(4*sizeof(int));
    for(int i=0;i<3;i++)
    {
        temp->arr[i]=i;
    }
    for(int i=0;i<3;i++)
    {
        printf("%d",temp->arr[i]);
    }
    //利用realloc改變數(shù)組大小
    struct S *te=realloc(temp,10*sizeof(int));
    if(te!=NULL)
    {
        temp=te;
    }
    for(int i=3;i<9;i++)
    {
        temp->arr[i]=i;
    }
    for(int i=3;i<9;i++)
    {
        printf("%d",temp->arr[i]);
    }
    free(temp);
    temp=NULL;
return 0;
}

使用指針實(shí)現(xiàn)柔性數(shù)組的操作舉例(結(jié)構(gòu)體成員內(nèi)存是不連續(xù)的)

2.

#include<stdio.h>
#include<stdlib.h>

struct S{
    int a;
    int *arr;
};
int main(){
    struct S stu;
    struct S *temp=(struct S*)malloc(sizeof(struct S));
    temp->arr=(int *)malloc(3*sizeof(int));
    for(int i=0;i<3;i++)
    {
        temp->arr[i]=i;
    }
    for(int i=0;i<3;i++)
    {
        printf("%d",temp->arr[i]);
    }
    int *te=realloc(temp->arr,10*sizeof(int));
    if(te!=NULL)
    {
        temp->arr=te;
    }
    for(int i=3;i<10;i++)
    {
        temp->arr[i]=i;
    }
    for(int i=3;i<10;i++)
    {
        printf("%d",temp->arr[i]);
    }
    free( temp->arr);
    temp->arr=NULL;
    free(temp);
    temp=NULL;
}

到此這篇關(guān)于C語(yǔ)言柔性數(shù)組的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)C語(yǔ)言 柔性數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言歸排與計(jì)排深度理解

    C語(yǔ)言歸排與計(jì)排深度理解

    這篇文章主要為大家詳細(xì)的介紹了C語(yǔ)言中計(jì)數(shù)排序和歸并排序,歸并排序是創(chuàng)建在歸并操作上的一種有效的排序算法,計(jì)數(shù)排序不用比較兩個(gè)數(shù)的大小,感興趣的朋友可以參考閱讀
    2023-04-04
  • C語(yǔ)言中結(jié)構(gòu)體變量私有化詳解

    C語(yǔ)言中結(jié)構(gòu)體變量私有化詳解

    結(jié)構(gòu)是由基本數(shù)據(jù)類(lèi)型構(gòu)成的、并用一個(gè)標(biāo)識(shí)符來(lái)命名的各種變量的組合,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中結(jié)構(gòu)體變量私有化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • c++中#include &lt;&gt;與#include""的區(qū)別詳細(xì)解析

    c++中#include &lt;&gt;與#include""的區(qū)別詳細(xì)解析

    <>先去系統(tǒng)目錄中找頭文件,如果沒(méi)有在到當(dāng)前目錄下找。所以像標(biāo)準(zhǔn)的頭文件 stdio.h、stdlib.h等用這個(gè)方法
    2013-10-10
  • 高效實(shí)現(xiàn)整型數(shù)字轉(zhuǎn)字符串int2str的方法

    高效實(shí)現(xiàn)整型數(shù)字轉(zhuǎn)字符串int2str的方法

    下面小編就為大家?guī)?lái)一篇高效實(shí)現(xiàn)整型數(shù)字轉(zhuǎn)字符串int2str的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • C++11中內(nèi)聯(lián)函數(shù)(inline)用法實(shí)例

    C++11中內(nèi)聯(lián)函數(shù)(inline)用法實(shí)例

    內(nèi)聯(lián)函數(shù)本質(zhì)還是一個(gè)函數(shù),但在聲明的時(shí)候,函數(shù)體要和聲明結(jié)合在一起,否則編譯器將它作為普通函數(shù)來(lái)對(duì)待,下面這篇文章主要給大家介紹了關(guān)于C++11中內(nèi)聯(lián)函數(shù)(inline)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • C語(yǔ)言結(jié)構(gòu)體指針的具體使用

    C語(yǔ)言結(jié)構(gòu)體指針的具體使用

    結(jié)構(gòu)體指針是一種非常有用的數(shù)據(jù)類(lèi)型,它可以讓我們更方便地操作結(jié)構(gòu)體,本文主要介紹了C語(yǔ)言結(jié)構(gòu)體指針的具體使用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2023-05-05
  • 解析bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)方法分析

    解析bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)方法分析

    本篇文章是對(duì)bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++如何實(shí)現(xiàn)DNS域名解析

    C++如何實(shí)現(xiàn)DNS域名解析

    這片文章介紹了C++如何實(shí)現(xiàn)DNS域名解析,還有對(duì)相關(guān)技術(shù)的介紹,代碼很詳細(xì),需要的朋友可以參考下
    2015-07-07
  • C++深入淺出講解缺省參數(shù)

    C++深入淺出講解缺省參數(shù)

    所謂缺省參數(shù),顧名思義,就是在聲明函數(shù)的某個(gè)參數(shù)的時(shí)候?yàn)橹付ㄒ粋€(gè)默認(rèn)值,在調(diào)用該函數(shù)的時(shí)候如果采用該默認(rèn)值,你就無(wú)須指定該參數(shù)。缺省參數(shù)使用主要規(guī)則:調(diào)用時(shí)你只能從最后一個(gè)參數(shù)開(kāi)始進(jìn)行省略,換句話說(shuō),如果你要省略一個(gè)參數(shù),你必須省略它后面所有的參數(shù)
    2022-07-07
  • C語(yǔ)言學(xué)習(xí)之條件和?if...else語(yǔ)句詳解

    C語(yǔ)言學(xué)習(xí)之條件和?if...else語(yǔ)句詳解

    這篇文章主要給大家介紹了C語(yǔ)言中的條件和?if...else語(yǔ)句,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12

最新評(píng)論