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

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ǔ)言數(shù)據(jù)結(jié)構(gòu)中約瑟夫環(huán)問(wèn)題探究

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)中約瑟夫環(huán)問(wèn)題探究

    這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)中約瑟夫環(huán)問(wèn)題,總的來(lái)說(shuō)這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過(guò)程。希望通過(guò)這道題能給你帶來(lái)一種解題優(yōu)化的思路
    2023-01-01
  • 《C++ primer plus》讀書筆記(一)

    《C++ primer plus》讀書筆記(一)

    本讀書筆記是C++ primer plus(第六版)前3章的學(xué)習(xí)筆記。非常的淺顯易懂,復(fù)習(xí)C++基礎(chǔ)知識(shí)的可以瞄瞄。
    2014-10-10
  • C語(yǔ)言實(shí)現(xiàn)從指定位置截取文件內(nèi)容

    C語(yǔ)言實(shí)現(xiàn)從指定位置截取文件內(nèi)容

    這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)從指定位置截取文件內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • C++11右值引用和std::move語(yǔ)句實(shí)例解析(推薦)

    C++11右值引用和std::move語(yǔ)句實(shí)例解析(推薦)

    右值引用(及其支持的Move語(yǔ)意和完美轉(zhuǎn)發(fā))是C++0x將要加入的最重大語(yǔ)言特性之一。這篇文章主要介紹了C++11右值引用和std::move語(yǔ)句實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • Qt實(shí)現(xiàn)抽獎(jiǎng)小游戲的三種方式

    Qt實(shí)現(xiàn)抽獎(jiǎng)小游戲的三種方式

    本文主要介紹了Qt實(shí)現(xiàn)抽獎(jiǎng)小游戲的三種方式,主要包括while循環(huán),定時(shí)器,線程這三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 顯示內(nèi)存狀態(tài)示例分享

    顯示內(nèi)存狀態(tài)示例分享

    這篇文章主要介紹了顯示內(nèi)存狀態(tài)示例,代碼簡(jiǎn)單,下面直接看代碼,需要的朋友可以參考下
    2014-02-02
  • C++ MD5的源碼實(shí)例詳解

    C++ MD5的源碼實(shí)例詳解

    這篇文章主要介紹了C++ MD5的源碼實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 詳解C++中常用的四種類型轉(zhuǎn)換方式

    詳解C++中常用的四種類型轉(zhuǎn)換方式

    這篇文章主要為大家詳細(xì)介紹了C++中常用的四種類型轉(zhuǎn)換方式:static_cast<Type>、dynamic_cast<Type>、const_case<Type>和reinterpret_cast,感興趣的可以了解一下
    2022-08-08
  • C語(yǔ)言輸出任意邊長(zhǎng)的菱形

    C語(yǔ)言輸出任意邊長(zhǎng)的菱形

    大家好,本篇文章主要講的是C語(yǔ)言輸出任意邊長(zhǎng)的菱形,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C++超詳細(xì)分析優(yōu)化排序算法之堆排序

    C++超詳細(xì)分析優(yōu)化排序算法之堆排序

    堆是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,通常是一個(gè)可以被看做一棵完全二叉樹(shù)的數(shù)組對(duì)象。而堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。本文將通過(guò)圖片詳細(xì)介紹堆排序,需要的可以參考一下
    2023-02-02

最新評(píng)論

金乡县| 吴旗县| 澄迈县| 孝昌县| 威远县| 城固县| 乌鲁木齐市| 军事| 丰原市| 沈阳市| 乌兰察布市| 唐海县| 阿克苏市| 高碑店市| 张北县| 玉溪市| 枝江市| 望江县| 定州市| 华阴市| 民县| 迁安市| 永顺县| 准格尔旗| 广南县| 营口市| 贵阳市| 讷河市| 惠东县| 台北县| 苍梧县| 平阴县| 通江县| 时尚| 临颍县| 贡觉县| 宁波市| 永兴县| 宝鸡市| 金平| 东安县|