日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

typedef,结构体,共用体,联合体

發布時間:2024/9/27 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 typedef,结构体,共用体,联合体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

typedef的用途:

  • 封裝數據類型,方便移植

  • 簡化函數指針的定義

  • 結構體:不同類的型元素匯聚。

    1)、在聲明類型的同時定義變量:

    struct結構體名{

    ??成員列表

    }變量名列表;

    ?

    2)、直接定義結構體類型變量

    struct

    {

    ????成員列表

    }變量名表列;

    ?

    指向結構體變量的指針

    定義形式:struct結構體名 *結構體指針名;

    例如:struct student *p;

    #define_CRT_SECURE_NO_WARNINGS??//去掉安全檢查

    #include<stdio.h>

    #include<stdlib.h>???????

    ?

    structmydata

    {

    ???intnum;

    ???charstr[100];

    };

    ?

    voidmain()

    {

    ???//int a;

    ???//int *p;

    ???//struct mydata *p;

    ???//printf("%d", sizeof(p));

    ?

    ???structmydatamd;??//實例化結構體

    ???md.num = 99;

    ???sprintf(md.str,"gogogo");

    ???printf("md.num=%d,md.str=%s",md.num,md.str);??//打印數據

    ?

    ???structmydata *p;??//p存儲地址 struct mydata決定了大小還有如何解析

    ???printf("\n%d",sizeof(p));

    ?

    ???p = &md;//結構體指針初始化,存儲地址

    ???printf("\n(*p).num=%d,(*p).str = %s", (*p).num, (*p).str);

    ???printf("\np->num = %d,p->str=%s",p->num,p->str);

    ?

    ???//指針訪問結構體,第一種方式(*p.成員變量,第二種p->成員變量

    ?

    ???getchar();

    }

    ?

    結構體變量:

    簡單案例:

    結構體成員地址從低到高連續分配,首成員對應低地址。

    ?

    公用/聯合體(union:使用不同類型的變量共占用一段內存(相互覆蓋),次共用體大小為元素中最大字節變量。

    ?

    共用體成員索引:可以通過.成員變量符,也可以通過???à指針索引。????????

    ?????

    union案例

    ?

    枚舉變量:



    動態內存申請:
  • 在內存中申請的。

    malloc()返回的類型是:void *類型的

  • ??????2malloc之后要記著釋放,使用free函數。否則會造成內存泄露,導致其它程序不能再使用這塊兒內存了。

    操作系統在管理malloc的時候是一下這種方式:

    //?????|???? 地址????????|

    //?????|???? 大小????????|?????????

    調用malloc的時候,系統每次都會為malloc創建一個節點,并記錄本次malloc的首地址和malloc的大小。

    ?

    malloc內存里面申請出來的值是什么值?

    gcc這個編譯器下,malloc默認把申請的內存中的初始值變成0,但是在不同的編譯器下回有所不同。

    ?

    如果想將malloc中申請的內存的值變成0,可以使用memset(p,0x0,100);如果想使用這個函數,要加上頭文件<string.h>

    ?

    calloc()

    realloc:當內存不夠了時候,可以通過realloc繼續申請內存空間。

    realloc的實現策略:

  • malloc后面有足夠的存儲空間。這時候相當于把malloc的首地址不變,只是把malloc的大小改大些。

  • 如果malloc后面的存儲空間不夠,那么這時候realloc新開辟一個地址空間,然后將原來malloc的內存里的內存復制到新開辟的內存空間中。

  • 總結

    以上是生活随笔為你收集整理的typedef,结构体,共用体,联合体的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 五月婷婷亚洲综合 | 精品国产乱码久久久久久1区2区 | 色视频免费看 | 青草99| 久久亚洲私人国产精品va | 欧洲女女同videos | 制服丝袜亚洲色图 | 日韩亚洲欧美一区二区 | 欧美色女人 | 欧美精品久久久久性色 | 欲色网站| 国产精品久久久久久久无码 | 天堂av在线网 | 打白嫩屁屁网站视频短裙 | 成人av影视在线 | 日韩欧美亚洲天堂 | a天堂中文网 | 人妻无码一区二区三区久久99 | 99re这里只有精品在线观看 | 国产成人自拍在线 | 日韩中文在线一区 | 久久久久久麻豆 | 国产精品蜜臀 | 毛片黄片免费看 | 日本韩国欧美中文字幕 | 免费男女乱淫真视频免费播放 | 色综合久久久无码中文字幕波多 | 福利国产在线 | 一区二区欧美精品 | 中文在线天堂网 | 韩国中文字幕hd久久精品 | 99久久夜色精品国产亚洲 | 中国新婚夫妻性猛交 | 91视频青青草 | 曰批免费视频播放免费 | 日本精品影院 | 3d动漫精品啪啪一区二区竹菊 | 欧美激情一区 | 师生出轨h灌满了1v1 | 日韩成人在线免费观看 | 亚洲草逼| 日韩一区二区a片免费观看 伊人网综合在线 | 国产经典久久 | 成人免费观看视频 | 亚州精品国产精品乱码不99按摩 | 不卡在线视频 | 天天视频黄色 | 一区黄色| 天天天天操 | 性开放淫合集 | 成人黄色av网站 | 国产视频日本 | 国产精品成人一区二区三区电影毛片 | 欧美成人三级在线观看 | 日韩视频在线观看二区 | 亚洲成人网在线观看 | 婷婷一区二区三区 | 超碰网站在线 | 亚洲人成在线观看 | 国产成人精品一区二区无码呦 | 另类av小说 | 性网站在线观看 | www毛片 | 国产精彩视频在线 | 97视频网站| 高清免费av | 96在线观看 | 波多野吉衣一区二区三区 | 日韩av二区 | 欧美亚洲丝袜 | 深夜视频在线观看免费 | 2018av| 无码播放一区二区三区 | 男人免费视频 | 色呦呦视频在线 | 亚洲AV无码成人精品区麻豆 | 国产黄色视屏 | 免费在线观看日韩 | 先锋av资源 | 成人国产精品免费观看 | 精品人妻在线播放 | 久一在线视频 | 超碰九七 | 人人超碰人人 | 亚洲网站一区 | 国产亚洲第一页 | 亚洲成人自拍视频 | 给我看免费高清在线观看 | 精品少妇v888av | 黄色大片av | 久久视频黄色 | 亚洲涩涩爱 | 欧美人与禽zozzo性之恋的特点 | 国产精品三级在线观看无码 | 日本中文字幕一区二区 | 日韩黄色精品视频 | 欧美日韩亚洲一区二区 | 美女久久久久久久久久 | 国产97色在线 | 国产 |