精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定義結(jié)構(gòu)體的同時(shí)聲明變量

CHANBAEK ? 來(lái)源:小木編程 ? 作者: 小木之 ? 2023-03-14 17:29 ? 次閱讀

定義結(jié)構(gòu)體的同時(shí)聲明變量

#include


struct book
{
  int id;
  char name[20];
  char type[20];
}book1; // 在這里直接聲明變量

int main()
{
  scanf("%d %s %s",&book1.id,&book1.name,&book1.type);
  printf("編號(hào):%d 名稱:%s 類型:%s",book1.id,book1.name,book1.type);
  return 0;
}
輸入:
1 西游記 四大名著
輸出結(jié)果:
編號(hào):1 名稱:西游記 類型:四大名著
  • 在定義結(jié)構(gòu)體的同時(shí),我們?cè)诮Y(jié)構(gòu)體末尾的 } 處直接聲明所需變量,相比起在主函數(shù)內(nèi)再用struct book book1; 來(lái)聲明變量要方便快捷的多。
  • 注意變量名后要以分號(hào)結(jié)尾。

使用typedef,讓結(jié)構(gòu)體的使用更方便

#include


typedef struct book
{
  int id;
  char name[20];
  char type[20];
}book;

int main()
{
  book book1;
  scanf("%d %s %s",&book1.id,&book1.name,&book1.type);
  printf("編號(hào):%d 名稱:%s 類型:%s",book1.id,book1.name,book1.type);
  return 0;
}
  • 在不使用typedef的情況下,我們使用結(jié)構(gòu)體來(lái)聲明變量時(shí)需要加上struct,如:struct book book1。
  • 并且在有些情況下結(jié)構(gòu)體的名字很長(zhǎng),當(dāng)我們需要聲明變量時(shí),就會(huì)讓代碼看起來(lái)繁瑣。
  • 這個(gè)時(shí)候,使用typedef為這個(gè)結(jié)構(gòu)體定義一個(gè)使用它時(shí)的名字,我們就可以像使用 int 之類的變量類型一樣,來(lái)使用結(jié)構(gòu)體了。
  • 在本例中,我們將book結(jié)構(gòu)體還用book來(lái)進(jìn)行typedef定義。
  • 這樣定義之后,我們就可以直接用“ book 變量名”來(lái)聲明變量了。

定義結(jié)構(gòu)體的位置:

  • 定義結(jié)構(gòu)體的位置,也就是這段代碼要放在什么位置才合適。

方式1 :將定義結(jié)構(gòu)體的代碼放在主函數(shù)前

#include


typedef struct book
{
  int id;
  char name[20];
  char type[20];
}book;

int main()
{
}
  • 我們可以這樣理解,如果我們想要在主函數(shù)內(nèi)使用結(jié)構(gòu)體,那么我們?cè)谑褂们耙欢ㄒx它,因?yàn)闆](méi)有定義便不存在,不存在便無(wú)法使用。
  • 而程序的編譯是自上而下進(jìn)行的,因此定義結(jié)構(gòu)體代碼的位置要放在主函數(shù)前,否則就會(huì)報(bào)錯(cuò)。
  • 也就是說(shuō),在該結(jié)構(gòu)體定義下面的所有代碼與函數(shù)都可以使用該結(jié)構(gòu)體,不止是主函數(shù)。

方式2 :將定義結(jié)構(gòu)體的代碼放在主函數(shù)內(nèi)部

#include
 
int main()
{
  typedef struct book
  {
    int id;
    char name[20];
    char type[20];
  }book;
}
  • 這個(gè)時(shí)候,該結(jié)構(gòu)體只有在主函數(shù)內(nèi),并且位于定義該結(jié)構(gòu)體代碼下方的的代碼才能使用。
  • 而位于主函數(shù)外,或主函數(shù)內(nèi)但位于定義結(jié)構(gòu)體代碼上方的代碼是無(wú)法使用的。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4308

    瀏覽量

    62444
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4753

    瀏覽量

    68368
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28334
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    10835
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變量聲明定義有什么區(qū)別和聯(lián)系

    變量聲明定義是編程中的兩個(gè)重要概念,它們?cè)谡Z(yǔ)法和語(yǔ)義上有一些區(qū)別和聯(lián)系。在本文中,我將詳細(xì)介紹變量聲明
    的頭像 發(fā)表于 12-07 16:14 ?1066次閱讀

    在頭文件中加入外部結(jié)構(gòu)變量聲明后報(bào)錯(cuò)

    最近在整文件系統(tǒng),但是在頭文件中加入外部結(jié)構(gòu)變量聲明如extern FATFS *fs[2]就會(huì)提示結(jié)構(gòu)
    發(fā)表于 10-11 08:55

    【干貨】c語(yǔ)言基礎(chǔ)語(yǔ)法——結(jié)構(gòu)

    地方定義結(jié)構(gòu)設(shè)計(jì),而在其他地方定義實(shí)際的結(jié)構(gòu)變量
    發(fā)表于 06-03 17:10

    定義頭文件中的結(jié)構(gòu)變量總是賦值無(wú)效的原因?

    定義了一個(gè)頭文件,里面包含一個(gè)結(jié)構(gòu),#ifndef Parameterdef#define Parameterdef#endif//Global parameters and variables
    發(fā)表于 07-20 14:10

    請(qǐng)問(wèn)結(jié)構(gòu)數(shù)組怎么聲明

    試試typedefstruct node{ int date; int next;}linklist;話說(shuō)哪位老司機(jī)解釋下,結(jié)構(gòu)數(shù)組怎么聲明
    發(fā)表于 07-30 11:42

    結(jié)構(gòu)變量定義與使用變量訪問(wèn)結(jié)構(gòu)成員

    知識(shí)點(diǎn)回顧關(guān)于找最大公共子串的兩種解題方法結(jié)構(gòu)定義(3種)結(jié)構(gòu)變量
    發(fā)表于 12-17 07:10

    KIEL MDK關(guān)于頭文件聲明包含結(jié)構(gòu)變量函數(shù)出現(xiàn)錯(cuò)誤問(wèn)題

    ? 今天遇到的一個(gè)問(wèn)題:我在一個(gè)頭文件聲明了一個(gè)結(jié)構(gòu):然后再另一個(gè)函數(shù)寫了一個(gè)函數(shù)并在.h里面聲明:編譯出現(xiàn)了以下錯(cuò)誤:大概的意思是說(shuō)我這個(gè)結(jié)構(gòu)
    發(fā)表于 04-18 11:36

    求助,結(jié)構(gòu)變量定義引用問(wèn)題求解

    |= mask; } 如以上語(yǔ)句,GPIO_Type是個(gè)結(jié)構(gòu)定義定義了一個(gè)*base變量,在引用其中的成員時(shí),是base->I
    發(fā)表于 10-27 06:06

    PIC結(jié)構(gòu)定義位元結(jié)構(gòu)

    PIC結(jié)構(gòu)定義位元結(jié)構(gòu) extern volatile near unsigned char PORTB;   // PORTB是一個(gè)字節(jié)(unsigned c
    發(fā)表于 10-30 08:28 ?2693次閱讀

    變量定義聲明的區(qū)別

    我們?cè)诔绦蛟O(shè)計(jì)中,時(shí)時(shí)刻刻都用到變量定義變量聲明,可有些時(shí)候我們對(duì)這個(gè)概念不是很清楚,知道它是怎么用,但卻不知是怎么一會(huì)事,下面我就簡(jiǎn)單的把他們的區(qū)別介紹如下:
    發(fā)表于 11-17 08:38 ?1w次閱讀

    結(jié)構(gòu)定義、初始化和賦值

    type)的一類。結(jié)構(gòu)可以被聲明變量、指針或數(shù)組等,用以實(shí)現(xiàn)較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)
    發(fā)表于 11-20 09:29 ?5.4w次閱讀

    C語(yǔ)言中變量聲明定義以及extern的用法介紹

    變量聲明不同于變量定義,這一點(diǎn)往往容易讓人混淆。 l變量聲明是告訴編譯器,該
    發(fā)表于 11-21 10:59 ?12次下載

    C語(yǔ)言之結(jié)構(gòu)聲明定義

    我們剛剛申請(qǐng)了一個(gè)名叫Info的結(jié)構(gòu)類型,那么理論上我們可以像聲明其他變量的操作一樣,去聲明我們的結(jié)構(gòu)
    的頭像 發(fā)表于 07-09 09:06 ?7417次閱讀
    C語(yǔ)言之<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>的<b class='flag-5'>聲明</b>與<b class='flag-5'>定義</b>

    C語(yǔ)言如何定義結(jié)構(gòu)類型變量

    定義結(jié)構(gòu)變量后,系統(tǒng)會(huì)為之分配內(nèi)存單元。根據(jù)結(jié)構(gòu)類型中包含的成員情況,在Visual C
    的頭像 發(fā)表于 03-10 15:35 ?1201次閱讀

    結(jié)構(gòu)成員變量的引用方法123

    這里采用的是常用的typedef關(guān)鍵字進(jìn)行定義結(jié)構(gòu)類型,可以看到student_t這種數(shù)據(jù)類型里面有4個(gè)成員變量,分別是學(xué)號(hào)、姓名、分?jǐn)?shù)、年齡,這些成員
    的頭像 發(fā)表于 07-08 14:45 ?2595次閱讀
    <b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>成員<b class='flag-5'>變量</b>的引用方法123