第7章 結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型課件_第1頁
第7章 結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型課件_第2頁
第7章 結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型課件_第3頁
第7章 結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型課件_第4頁
第7章 結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體數(shù)據(jù)類型的特點結(jié)構(gòu)體類型由若干個數(shù)據(jù)項組成,這些數(shù)據(jù)項都屬于一種已經(jīng)有定義數(shù)據(jù)類型(基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型),結(jié)構(gòu)體類型中的數(shù)據(jù)項稱為結(jié)構(gòu)體成員。程序使用結(jié)構(gòu)體類型數(shù)據(jù)需要在源程序文件中進行定義。結(jié)構(gòu)體數(shù)據(jù)類型只在其定義存在的源程序中起作用,在其他源程序中不能使用。同一個源程序文件中可以定義若干個結(jié)構(gòu)體類型。結(jié)構(gòu)體數(shù)據(jù)類型仍然是一類變量的抽象形式,系統(tǒng)不會為數(shù)據(jù)類型分配存儲空間。使用結(jié)構(gòu)體類型數(shù)據(jù),必須要定義結(jié)構(gòu)體數(shù)據(jù)類型的變量。結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體類型定義struct結(jié)構(gòu)體名{

數(shù)據(jù)類型名

結(jié)構(gòu)體成員1;

數(shù)據(jù)類型名

結(jié)構(gòu)體成員2; …

數(shù)據(jù)類型名

結(jié)構(gòu)體成員i; …

數(shù)據(jù)類型名

結(jié)構(gòu)體成員n;};//結(jié)構(gòu)體類型定義示例structstudent{intstuno;charname[20];unsignedage;charsex;charaddress[80];chartel[20];};結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量定義方法一:先定義結(jié)構(gòu)體數(shù)據(jù)類型,然后定義該數(shù)據(jù)類型的變量。其定義形式與定義基本類型變量相同:

數(shù)據(jù)類型名變量表;//在已經(jīng)定義結(jié)構(gòu)體類型structstudent的基礎(chǔ)上定義結(jié)構(gòu)體類型變量stu1和stu2

structstudentstu1,stu2;方法二:定義數(shù)據(jù)類型的同時定義結(jié)構(gòu)體類型變量struct標(biāo)識符{結(jié)構(gòu)體成員列表;}結(jié)構(gòu)體變量列表;//定義結(jié)構(gòu)體類型structstudent的同時定義變量stu3和stu4。structstudent{intstuno;charname[20];unsignedage;charsex;charaddress[80];chartel[20];}stu3,stu4;方法三:直接定義結(jié)構(gòu)體類型變量struct{結(jié)構(gòu)體成員列表;}結(jié)構(gòu)體變量列表;//直接定義(僅定義)結(jié)構(gòu)體變量stu5和stu6。structstudent{intstuno;charname[20];unsignedage;charsex;charaddress[80];chartel[20];}stu5,stu6;結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體類型嵌套定義結(jié)構(gòu)體類型的嵌套定義指的是在一個結(jié)構(gòu)體數(shù)據(jù)類型中,某些結(jié)構(gòu)體成員的數(shù)據(jù)類型是另外一個在同一C程序中已經(jīng)定義完成的結(jié)構(gòu)體數(shù)據(jù)類型。structdate{intyear;intmonth;intday;};structstudent1{intstuno;charname[20];

structdatebirthday;unsignedage;charsex;charaddress[80];chartel[20];};數(shù)據(jù)類型:structdate結(jié)構(gòu)體類型的定義和使用typedef簡單應(yīng)用——數(shù)據(jù)類型的別名使用typedef為已經(jīng)存在的數(shù)據(jù)類型取別名后,數(shù)據(jù)類型的本名和別名在源程序中具有同樣的作用。定義別名的一般形式為:

typedef數(shù)據(jù)類型名別名;//為系統(tǒng)內(nèi)置數(shù)據(jù)整型(int)類型取別名INTEGER。typedefintINTEGER;//此后,intj,k;和INTEGERj,k;的意義相同。/*先定義構(gòu)造數(shù)據(jù)類型,然后再取別名*/structstudent{intstuno;charname[20];structdatebirthday;unsignedage;charsex;charaddress[80];chartel[20];};typedefstructstudentSTU;/*在定義構(gòu)造數(shù)據(jù)類型的同時取別名*/typedefstructstudent { intstuno;charname[20];structdatebirthday;unsignedage;charsex;charaddress[80];chartel[20];}STU;結(jié)構(gòu)體類型的定義和使用typedef簡單應(yīng)用——構(gòu)造復(fù)雜數(shù)據(jù)類型使用typedef還可以構(gòu)造復(fù)雜結(jié)構(gòu)的數(shù)據(jù)類型,由于不同的應(yīng)用環(huán)境對復(fù)雜結(jié)構(gòu)數(shù)據(jù)的要求不同,所以使用typedef關(guān)鍵字構(gòu)造復(fù)雜結(jié)構(gòu)數(shù)據(jù)沒有統(tǒng)一的形式,在應(yīng)用程序中應(yīng)該根據(jù)需要構(gòu)造合適形式的數(shù)據(jù)類型。Ex0701用typedef構(gòu)造指定長度的字符串?dāng)?shù)據(jù)類型。Ex0702用typedef構(gòu)造指定行數(shù)和列數(shù)的二維數(shù)組類型。Ex0703用typedef構(gòu)造指針數(shù)據(jù)類型。結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量的使用——初始化定義結(jié)構(gòu)體類型變量的同時也可以進行初始化。結(jié)構(gòu)體變量初始化的形式類似于一維數(shù)組,不同之處在于結(jié)構(gòu)體變量的成員值依據(jù)其所屬類型可以是不同類型的數(shù)據(jù)。結(jié)構(gòu)體變量初始化的一般形式為: struct結(jié)構(gòu)體名變量名={結(jié)構(gòu)體變量成員值列表};structstudents1={12,"LiMing",1992,12,30,20,'m',"12songlin",65102621};structstudents1={12,"LiMing",{1992,12,30,20},'m',"12songlin",65102621};結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量的使用——引用通過操作結(jié)構(gòu)體變量的每一個數(shù)據(jù)項達到操作結(jié)構(gòu)體變量的目的。對于結(jié)構(gòu)體變量中每一個數(shù)據(jù)項(成員分量)的引用要使用成員運算符(點運算符)以構(gòu)成結(jié)構(gòu)體成員分量,結(jié)構(gòu)體成員分量的一般形式為:

結(jié)構(gòu)體變量名.成員分量名對于嵌套的結(jié)構(gòu)體類型變量,訪問其成員時應(yīng)采用逐級訪問的方法,直到獲得所需訪問的成員為止。其形式為:

結(jié)構(gòu)體變量名.一級成員分量名.二級成員分量名…//結(jié)構(gòu)體分量引用示例、s1.age、s1.sexs1.birthday.year、s1.birthday.month、s1.birthday.day結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量的使用——輸入輸出C程序中只能將結(jié)構(gòu)體變量的成員分量作為輸入輸出的對象。對結(jié)構(gòu)體變量成員分量輸入輸出操作時應(yīng)該特別注意對應(yīng)成員分量的數(shù)據(jù)類型。兩個同類型的結(jié)構(gòu)體變量可以直接進行賦值操作。Ex0704結(jié)構(gòu)體變量的輸入/輸出示例。scanf("%s,%d,%u",,&s1.stuno,&s1.age);printf("%s,%d,%u\n",,s1.stuno,s1.age);get);puts();structstudents1={12,"liming",1988,12,30,22,'m',"12songlin",65102621};//將結(jié)構(gòu)體變量s1賦值給同類型結(jié)構(gòu)體變量s2structstudents2=s1;結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量的使用——做函數(shù)參數(shù)結(jié)構(gòu)體類型變量和結(jié)構(gòu)體類型變量的成員都可以作為函數(shù)的參數(shù)在函數(shù)間進行傳遞,數(shù)據(jù)的傳遞仍然是“值傳遞方式”。使用結(jié)構(gòu)體類型變量作為函數(shù)參數(shù)時,被調(diào)函數(shù)的形參和主調(diào)函數(shù)的實參都是結(jié)構(gòu)體類型的變量,而且屬于同一個結(jié)構(gòu)體類型。使用結(jié)構(gòu)體類型變量的成員作為函數(shù)參數(shù)時,其中被調(diào)函數(shù)中的形參是普通變量,而主調(diào)函數(shù)中的實參是結(jié)構(gòu)體類型變量中的一個成員,并且形參和實參的數(shù)據(jù)類型應(yīng)該對應(yīng)一致。Ex0705利用結(jié)構(gòu)體變量做函數(shù)參數(shù),實現(xiàn)計算某學(xué)生3門課程平均成績的功能。結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體變量的使用——做函數(shù)的返回值類型定義結(jié)構(gòu)體數(shù)據(jù)類型后,同一程序中也可以用該結(jié)構(gòu)體數(shù)據(jù)類型作為函數(shù)的返回值類型。函數(shù)的返回值類型是結(jié)構(gòu)體類型時,函數(shù)執(zhí)行完成后返回的就是一個結(jié)構(gòu)體數(shù)據(jù),稱這種函數(shù)為返回結(jié)構(gòu)體類型的函數(shù)。其函數(shù)定義的一般形式為:Ex0706已知某學(xué)生幾門課程的成績,利用返回結(jié)構(gòu)體類型函數(shù)實現(xiàn)統(tǒng)計總成績功能。struct標(biāo)識符函數(shù)名(形式參數(shù)表及其定義){ //函數(shù)體}結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組的定義定義結(jié)構(gòu)體數(shù)組有3種方法,分別是:先定義結(jié)構(gòu)體類型然后定義結(jié)構(gòu)體數(shù)組;在定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體數(shù)組;只定義某種結(jié)構(gòu)體類型的數(shù)組。在定義結(jié)構(gòu)體數(shù)組的同時還可以定義同類型的結(jié)構(gòu)體變量。//方法一示例structperson{charname[20];intcount;}structpersonp1[30],p2[100];//方法二示例structperson{charname[20];intcount;}p1[30],p2[100];//方法三示例struct{charname[20];intcount;}p1[30],p2[100];結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組的初始化結(jié)構(gòu)體數(shù)組各元素首先以數(shù)組的形式在系統(tǒng)內(nèi)存中連續(xù)存放,其中的每一數(shù)組元素的成員分量則按類型定義中出現(xiàn)的順序依次存放。結(jié)構(gòu)體數(shù)組初始化的一般形式是:

struct標(biāo)識符數(shù)組名[長度]={初始化數(shù)據(jù)列表};結(jié)構(gòu)體數(shù)組初始化形式與較它高一維的普通數(shù)組初始化形式類似。一維結(jié)構(gòu)體數(shù)組的初始化就類似于普通二維數(shù)組初始化,初始化中的注意事項也與二維普通數(shù)組初始化時相同或類似。//結(jié)構(gòu)體數(shù)組初始化示例typedefstructperson{charname[20];intcount;}PER;//單行初始化形式

PERper[3]={"Zhang",0,"Wang",0,"Li",0};//分元素初始化形式PERper[3]={{"Zhang",0},{"Wang",0},{"Li",0}};結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組元素的使用通過操作數(shù)組的每一個元素達到操作數(shù)組的目的。結(jié)構(gòu)體數(shù)組元素需要用下標(biāo)變量的形式表示。結(jié)構(gòu)體數(shù)組元素就相當(dāng)于一個結(jié)構(gòu)體變量,將引用數(shù)組元素的方法和引用結(jié)構(gòu)體變量的方法結(jié)合起來就形成了引用結(jié)構(gòu)體數(shù)組元素成員分量的方法,其一般形式為:

數(shù)組名[下標(biāo)].成員名不能將結(jié)構(gòu)體數(shù)組元素作為一個整體直接進行輸入輸出,也需要通過輸入輸出數(shù)組元素的每一個成員分量達到輸入輸出結(jié)構(gòu)體數(shù)組元素的目的。可以將結(jié)構(gòu)體數(shù)組元素作為一個整體賦給同類型數(shù)組的另外一個元素,或賦給一個同類型的結(jié)構(gòu)體變量。Ex0707結(jié)構(gòu)體數(shù)組操作(數(shù)組元素引用、數(shù)組元素的輸入輸出)示例。結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組作函數(shù)的參數(shù)在函數(shù)調(diào)用期間實參結(jié)構(gòu)體數(shù)組將它的全部存儲區(qū)域或者部分存儲區(qū)域提供給形參結(jié)構(gòu)體數(shù)組共享。如果需要把整個實參結(jié)構(gòu)體數(shù)組傳遞給被調(diào)函數(shù)中的形參結(jié)構(gòu)體數(shù)組,可以使用實參結(jié)構(gòu)體數(shù)組的名字或者實參結(jié)構(gòu)體數(shù)組第一個元素(0號元素)的地址。如果需要把實參結(jié)構(gòu)體數(shù)組中從某個元素值后的部分傳遞給被調(diào)函數(shù)中的形參結(jié)構(gòu)體數(shù)組,則使用實參結(jié)構(gòu)體數(shù)組某個元素的地址。Ex0708統(tǒng)計并輸出年齡在18歲以上的學(xué)生人數(shù)。結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系結(jié)構(gòu)體類型變量與指針的關(guān)系結(jié)構(gòu)體類型變量的指針就是該結(jié)構(gòu)體類型變量所占內(nèi)存區(qū)域的起始地址,同樣也可以定義一個指針類型的變量來存放這個地址,即指向這個結(jié)構(gòu)體類型變量。結(jié)構(gòu)體類型指針變量定義形式為:

struct結(jié)構(gòu)體類型名*指針變量名;//設(shè)已定義類型structstudent,指針變量ptr定義如下structstudent*ptr;結(jié)構(gòu)體類型變量與指針的關(guān)系使用取地址運算符將結(jié)構(gòu)體變量的地址賦給指針變量。通過指向結(jié)構(gòu)體變量的指針變量訪問結(jié)構(gòu)體變量成員分量使用的形式:(*指針變量).成員名;指針變量名->成員名;結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系//先定義指針變量,然后賦值structstudentstudent,*ptr;ptr=&student;//定義并初始化指針變量structstudentstudent,*ptr=&student;Ex0709已知某學(xué)生3門課程的成績存放在一個結(jié)構(gòu)體變量中,請設(shè)計一個獨立的函數(shù)計算該學(xué)生的平均成績,要求函數(shù)使用結(jié)構(gòu)體類型指針變量做函數(shù)的形參。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系結(jié)構(gòu)體類型數(shù)組與指針的關(guān)系通過將一個結(jié)構(gòu)體數(shù)組元素的地址賦值給同類型指針變量使得該指針變量指向結(jié)構(gòu)體數(shù)組元素。結(jié)構(gòu)體數(shù)組元素等價于同類型普通變量,通過指針變量操作數(shù)組元素的方式與通過指針變量操作結(jié)構(gòu)體變量方式類似。structA{charc;intx;};structAa[5],*p1;p1=&a[2];//數(shù)組元素a[2]的操作方式:a[2].x(*p1).xp1->x結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系結(jié)構(gòu)體類型數(shù)組與指針的關(guān)系通過將結(jié)構(gòu)體數(shù)組的起始地址賦給同類型的指針變量使得該指針變量指向結(jié)構(gòu)體數(shù)組。將通過指針操作一維數(shù)組的形式與通過指針操作結(jié)構(gòu)體變量的形式結(jié)合,即形成了通過指針變量操作結(jié)構(gòu)體數(shù)組的表達式形式。structA{charc;intx;};structAa[5],*p1;p1=a;//數(shù)組元素a[i]的操作方式:(*(p1+i)).x(p1+i)->xEx0710統(tǒng)計并輸出年齡在18歲以上的學(xué)生人數(shù)。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——線性表概念線性表有有限個數(shù)據(jù)組成,各數(shù)據(jù)元素之間的邏輯結(jié)構(gòu)可以用一個簡單的線性結(jié)構(gòu)表示出來,其特征是:除第一個和最后一個元素外,任何一個元素都只有一個直接前驅(qū)和一個直接后繼;第一個元素?zé)o前趨而只有一個直接后繼;最后一個元素?zé)o后繼而只有一個直接前趨。線性表在計算機存儲設(shè)備中的具體存儲形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),亦稱為數(shù)據(jù)的物理結(jié)構(gòu)。在對線性表的處理中,其主要的存儲結(jié)構(gòu)有順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)兩種。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——使用的數(shù)據(jù)結(jié)構(gòu)線性表采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,線性表中的數(shù)據(jù)元素稱為結(jié)點。在線性鏈表的構(gòu)造中,除第一個結(jié)點之外,其余每一個結(jié)點的存放位置由該結(jié)點的前驅(qū)在其指針域中指出。為了確定線性鏈表第一個結(jié)點的存放位置,使用一個指針變量指向鏈表的表頭,這個指針變量稱作“頭指針”。線性鏈表的最后一個結(jié)點沒有后繼,為了表示這個概念,該結(jié)點的指針域賦值為空(NULL或∧)。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——結(jié)點結(jié)構(gòu)的C語言描述方式typedefstructnode{elementtypedata;structnode*next;}NODE;//構(gòu)造示例程序使用的數(shù)據(jù)結(jié)構(gòu),存入頭文件ex0711.htypedefstructstu{charname[20];doublescore;structstu*next;}NODE;elementtype是某種用于表示結(jié)點數(shù)據(jù)域的數(shù)據(jù)類型NODE是結(jié)點類型structnode的別名結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——單鏈表的構(gòu)造單鏈表有正向生成構(gòu)造法和反向生成構(gòu)造法兩種。正向生成的步驟主要分為兩步:首先創(chuàng)建單鏈表的頭指針,然后將新結(jié)點依次鏈接到單鏈表的尾部;反向生成方法與正向生成類似,只不過將新結(jié)點依次插入到單鏈表的頭部。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——單鏈表的輸出單鏈表的輸出實質(zhì)上就是對某一頭指針指向的單鏈表進行遍歷,也就是將單鏈表中的每一個數(shù)據(jù)元素結(jié)點從表頭開始依次處理一遍。結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——單鏈表上的插入運算實現(xiàn)在單鏈表上插入一個結(jié)點的基本過程如下:創(chuàng)建一個新結(jié)點;按要求尋找插入點;被插入結(jié)點的指針域指向插入點結(jié)點的后繼結(jié)點;插入點結(jié)點的指針域指向被插入的結(jié)點;結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——單鏈表上的刪除運算實現(xiàn)在單鏈表中刪除一個數(shù)據(jù)元素結(jié)點的基本過程如下:查找被刪除結(jié)點以及其前趨結(jié)點;被刪除結(jié)點的前趨結(jié)點指針域指向被刪除結(jié)點的直接后繼結(jié)點;釋放被刪除結(jié)點;結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系單鏈表基本操作——綜合示例將單鏈表的最基本運算函數(shù)組織起來即可形成一個對單鏈表進行簡單處理的程序。Ex0711帶頭結(jié)點單鏈表基本操作示例。要求設(shè)計一個簡單的菜單,根據(jù)對菜單項的選擇分別實現(xiàn)帶頭結(jié)點單鏈表的構(gòu)造操作、插入操作、刪除操作和輸出操作。結(jié)構(gòu)體和聯(lián)合體數(shù)據(jù)類型結(jié)構(gòu)體類型的定義和使用結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)據(jù)類型與指針的關(guān)系聯(lián)合體數(shù)據(jù)類型聯(lián)合體數(shù)據(jù)類型聯(lián)合體類型的定義C語言通過使用聯(lián)合體(共用體)類型數(shù)據(jù)實現(xiàn)同一存儲區(qū)域數(shù)據(jù)(類型)的可變性和數(shù)據(jù)項處理的靈活性。聯(lián)合體類型的定義確定了參與共用存儲區(qū)域的成員項以及成員項具有的數(shù)據(jù)類型。聯(lián)合體(共用體)類型定義的一般形式:union聯(lián)合體名{

數(shù)據(jù)類型

成員項1;

數(shù)據(jù)類型

成員項2; …

數(shù)據(jù)類型

成員項n;};//聯(lián)合體類型定義示例unionkeTest{unsigendshortx;charch[4];};聯(lián)合體數(shù)據(jù)類型聯(lián)合體類型的定義C語言中還允許結(jié)構(gòu)體、聯(lián)合體以及和數(shù)組等構(gòu)造類型數(shù)據(jù)相互嵌套。unionun{ inta,struct{ floatb; charc;}s;};聯(lián)合體數(shù)據(jù)類型un中的一個成員s是結(jié)構(gòu)體類型變量,變量s與整型變變量a共用同一段存儲空間。聯(lián)合體數(shù)據(jù)類型聯(lián)合體變量定義方法一:先定義聯(lián)合體類型,然后定義聯(lián)合體變量;

union聯(lián)合體名 {成員列表;}; union聯(lián)合體名變量列表;方法二:

定義聯(lián)合體類型的同時定義聯(lián)合體類型變量;

union聯(lián)合體名 {成員列表;}變量列表;方法三:

不定義類型名直接定義聯(lián)合體類型變量;

union {成員列表;}變量列表;聯(lián)合體數(shù)據(jù)類型聯(lián)合體變量初始化問題由于聯(lián)合體變量的成員不會同時出現(xiàn),所以程序中一般不對聯(lián)合體變量進行初始化。如果要對聯(lián)合體變量進行初始化,則只能提供變量中第一個成員的初始化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論