C語言基本語法_第1頁
C語言基本語法_第2頁
C語言基本語法_第3頁
C語言基本語法_第4頁
C語言基本語法_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言基本語法基本語法介紹預(yù)婭命令把小寫字母轉(zhuǎn)換成人寫字母chara,b;a=,x:b='y:a=a?32;b=b-32;pnntf(”%c,%c\n%d,%d\iT,a,bab);復(fù)介賦值語句右利于編譯處理,能提高編譯效率并產(chǎn)生質(zhì)量較高的目標代碼C語言中的空語句:wlule(getchar?-W);〃這里包含了空循環(huán)體scanfpimtf:scanf輸入數(shù)據(jù)町以指定數(shù)據(jù)字段的寬度,但不能規(guī)定數(shù)據(jù)的稱度,而pnntf則町以prmtfC%3,2f;a);〃這里的3.2表示按實數(shù)形式輸出,輸出寬度為3,如果輸出的數(shù)不足3,位,則按實際寬度輸出,四舍五入保留兩位小數(shù)預(yù)處理命令宋定義不帶參數(shù)的宏定義#defmePI3.1415926〃不用加分號帶參數(shù)的宏定義#defmeMAN(a,b)((a)>(b)?(a):(b))文松含命令#inchide<filenaine.h>或#mclude"filename.hno表示在存放C庫兩數(shù)頭文件所在目錄中去資找,而不再源文件目錄去資找“"表示首先在當前的原文家目錄中查找,若未找到才到存放C庫函數(shù)頭文件所在目錄中去找。在實際編程中,冇些公用的符兮常量單獨組成一個文件,在其他文件的開頭用包含命令包含該文件即可使用。乂件運算符(1)三個表達式的類型可不同,條件表達式值取較高的類型(2)條件運算符的結(jié)合方向是從右至左(3)條件運算符可嵌套自定義函數(shù)的相關(guān)知識變量的存儲趣自定義函數(shù):函數(shù)分為聲明部分和執(zhí)行部分函數(shù)的聲明與定義:函數(shù)的聲明仕程序的數(shù)拯內(nèi)明部分(文件包存命令和mam因數(shù)之間),函數(shù)的定義的位國可以在調(diào)用它的函數(shù)(一般在mam函數(shù)之外)之前也可以在調(diào)用它的兩數(shù)之后,也可以位于其他的源程序模塊中。使用函數(shù)的優(yōu)點:(1)使用函數(shù)可以控制任務(wù)的規(guī)模(2)使用函數(shù)可以控制變量的作用范闈(3)使用函數(shù)可以可以由多人協(xié)作完成程序的開發(fā)(4)使用函數(shù)町以巫新利用已有的、調(diào)試好的、成熟的程序模塊(函數(shù))局部變最和全局變最在語句塊內(nèi)定義的變量稱之為局部變呈.又稱為內(nèi)部變量,僅在定義它的語句塊內(nèi)有效,并且擁有自己獨立的存儲空間。在函數(shù)之外定義的變量成為全局變量。如果在同一個源文件中,全局變最和局部變最同名,則在局部變量的作用范用內(nèi),全局變最不起作用,即被"屏蔽S說明:(1)一個函數(shù)中既町以使用本函數(shù)的局部變量?又町以使用有效的全周變量。(2)利用全局變量可以增加函數(shù)聯(lián)系的渠道,從而得到一個以上的返回值(3)全局變量一般第一個字母用大寫表示(4)建議在一般情況下不要使用全局變最,因為全局變量一直占用存儲空間,降低lie兩數(shù)的通用性和程序的清晰性,容易出錯。變最的存儲類型:(1)自動型變量automti=l;auto關(guān)鍵字只能用丁?定義局部變量,為默認的類型(2)寄存器型變量register(3)靜態(tài)型變量static該變最只有在所在的兩數(shù)內(nèi)仃效,退出該函數(shù)時該變最的值仍然保留,卜次進入后仍然町以使用。退出程序時值才消失。(4)外部型變最externC程序在編譯時當遇到extern,先在本文件中找外部變量的定義,如果找到,就在本文件中擴展作用域,如果找不到就在連接時從其他的文件中找到外部變量的定義如來找到.就將作用域擴展到本文件,否則按出錯處理。在高級語言的學(xué)習(xí)中一方面應(yīng)數(shù)鼠京握該語言的語法,因為它是算法實現(xiàn)的基礎(chǔ),另一方面必須認識到算法的重要性,加強思維訓(xùn)練,以便寫出高質(zhì)最的程序。getcharOgetchOgetche()函數(shù)和putchait)putchO函數(shù)putchar(c)putc11(c)把單個字符c輸出到標準設(shè)備上getcharOgetche()getchO函數(shù)用于從終端輸入數(shù)據(jù)getcharO按enter鍵之后才接受數(shù)據(jù),只接收第一個數(shù)據(jù)getchO和getche()在輸入一個字符后立刻被函數(shù)接受,不用按enter鍵。getchO不回顯輸入的數(shù)據(jù)getche()顯示輸入的數(shù)據(jù)指針與數(shù)組一維數(shù)組二維數(shù)組字符數(shù)組二維字符串指針與F數(shù)組一維數(shù)組:不允許對數(shù)組的長度進行動態(tài)定義數(shù)組必須先定義后使用數(shù)組的定義:mti[10]mtb[]={1,23,0,0,0}等價于mtb[6]={1,2,3}字符數(shù)組:字符數(shù)組是由若干個有效字符構(gòu)成且以字符叭0,作為結(jié)束標志的一個字符序列。字符數(shù)俎的定義*chara[10];對字符數(shù)的各個尤素分別進行初始化chara[3]={Nb};/*余卜的自動補U(T,這時字符數(shù)組就變成了字符串*/用字符串常崑來給字符數(shù)組進行初始化chai*a[13]=,flielloworld!H字符敷俎的?入■出:chaic[6]⑴用格式符“%c”逐個輸入輸出字符:scanf(,l%c,\&c[l]);prmtfC%c*\c[l]);用格式符“%s”整個輸入輸出字符串:scanfC^s^c);prmtfC^s^c);字符敷俎與字符串的區(qū)別$字符數(shù)組用來存放和處理字符數(shù)組且不加結(jié)束標識符就叫(T時,則在程序中只能逐個引用字符數(shù)組中的各個字符,而不能一次引用整個字符數(shù)組。而字符串則可以對其引用整個數(shù)組.其操作的方式一個是數(shù)組元素,一個是數(shù)組名輸入字符串函數(shù)char*gets(char*str);//stdio.h在使用gets。輸入字符串時,可以包括空格在內(nèi)的字符,在回車時,自動驕倣字符串結(jié)束標志ro,賦予字符數(shù)組的最后一個元素。輸出字符串函數(shù)mtputs(chai-?str);//stdio.h在使用puts。輸出字符串時,將字符串結(jié)束標志30,轉(zhuǎn)換成<\if輸出。字符串復(fù)制函數(shù)chai-?strcpy(char?stii,char*str2);//stnng.h不能使用=賦值語句対字符數(shù)組整體賦值?只能使用stivpyO處理。字符串比較函數(shù)nitstrcmp(cliar*stri,char*sti2);//stmig.h字符串比較不能使用if(str1=str2)的形式,只能使斤strcmpO;字符串長度測量函數(shù)unsignedmtstrlen(char*str);不包扌舌字符串結(jié)束字符,\(r找字符或字符串位置函數(shù)査找字符的位置:chai-?strchitchar*str,chai*ch);查找字符串的位豐:char*strstr(char?strl,charstr2);指針可以簡單的認為“指針”就是地址,地址就是指針。一個變量的地址只能使用&符號獲得。在C語言中指針被用來標識號內(nèi)存單元的地址,如果把這個地址用一個變量來保存,則這中噢噢那個變量就成為指指針變量。如指針變量pi只想變量1,那么pi就表示變量1的地址,*pi就表示變量1的值,pj=&i。戶3與邛尸3等價指針變量的使用:先定義,后使用。定義的一般形式:數(shù)據(jù)類型*指針變量名;指針變量號普通變量建立聯(lián)系的方法(為指針賦值):指針變最名=&普通變最名;說明:由于數(shù)組名就是該數(shù)組的首地址,所以指針變最與數(shù)組建立聯(lián)系時,只需將數(shù)組名賦予指針變量即可。當指針變量沒有賦值時,可以賦空指針NULL或0,不能間接引用沒有初始化或值為NULL的指針。&取地址運算符,*取只想的值的運算符。指針變最的引用方式:*指針變量名:表示所指變量的值。指針變量名:表示所指變彊的地址使用指針作為函數(shù)的參數(shù):#mclude<stdio.h>voidswap(mt*x,mt*y);voidmain(){mta=3、b=4;pnntfChnainl:a=%d>b=%d\nt\a,b);swap(&a,&b);printf(,,mam2:a=%d,b=%d\nw,a,b);}voidswap(mtmt*y){mta;prmtfCswap]:a=%d,b=%d\nt\車y);a=*x;*x=*y;*y=a;prmtf(Hswap2:a=%d,b=%d\nf\*x,*y);}柵的環(huán)指針的運算通常只限于:+,?,卄廠(1甘呂針變最加減一個蔡數(shù)的算術(shù)運算:表示通過加減運算獲取新的內(nèi)存空間的地址:pn,p+c“c表示指針變鼠所指向的數(shù)據(jù)類型所占用的字節(jié)數(shù))兩個指針變量之間的算術(shù)運算:只有減法運算,不能進行加法運算,表示兩個指針變量Z間的變量個數(shù)。兩個指針變最之間的比較:=,!=,<,>,<=>=,結(jié)果為真(1)或假(0)指針變量可以指向一個空值有效數(shù)據(jù)的指針補指向0單元?對NULL指針不能使用間接引用??罩羔樑c未對指針變量p賦值足兩個不同的概念:空指針指向0單元,而未對指針賦值表示該指針町能指向一個未知的值。柵與一指向一維數(shù)組的指針變最:指向?維數(shù)組的指針成為數(shù)組指針。賦值:p=&a[0]或者p=a獲取數(shù)組元素a[i]的值:*(a-hi)指針表示法比下標表示法快的原因:在C編譯時,數(shù)組元素a[i]被解釋成*(a+i),即按照數(shù)組的首地址加上指針相對位移最得到要找的元素的地址,然后找出該單元的內(nèi)容。指向一維數(shù)組元素的指針變最:?p=&a⑹濃示p是指針變量,將a[6]的地址賦了po指向字符串的指針變量:字符串是特殊的一維數(shù)組,不過,指向字符串的指針變量的使用方法與指向一般數(shù)組的指針變量有所不同。字符指針:chai**sp=tfHelloworld!!!M;指向字符數(shù)組的字符指針:chai*str[]=nHelloworld!sp=str;二維數(shù)組:數(shù)據(jù)類型數(shù)組名[行數(shù)常?量表達式][列數(shù)常最表達式];賦值運算:a[2][l]=3;取地址預(yù)算:&a[2][3];算術(shù)運算:a[l][O]=a[O][O]+l;其他運算:a[i][j]>0;砒化,(1)按行初始化mta[2][3]={{l,2,3,},{4,5,6,}};(2)按順序初始化mta[2][3]={1,2,3,4,5,6};(3)使用關(guān)鍵字static賦值為定義靜態(tài)存儲數(shù)組時,如果沒有賦初值,則系統(tǒng)自動將全部元素賦予0值或ro,值。(4)對部分元素賦初值數(shù)組在対部分元索賦初值時,如果后面的數(shù)組元素不賦初值,系統(tǒng)會對耒賦值的所有數(shù)組元素自動賦予0值或30,值。(5)全部賦值時數(shù)組第一維長度可以省略mta[][3]={1,23,4,5,6}缺省數(shù)組第一維長度的部分賦值應(yīng)使用分行賦值方式明確指定行數(shù)mta[][2]={{l,},{l,2,},{2}}通過鍵盤輸入通過賦值語句逐個尤素賦初值作函數(shù)的舛二維數(shù)組作為怖數(shù)的參數(shù)時,時地址傳遞方式,在被調(diào)函數(shù)中対數(shù)組元素的改變,會影響到主調(diào)函數(shù),對二維數(shù)組而言,在主調(diào)函數(shù)和彼調(diào)函數(shù)中使用數(shù)組的方法都一樣。在定義被調(diào)函數(shù)時,二維數(shù)組的形參的第一維大小可有可無,有第一維大小時,可以可以時任意人小:而第二維的人小必須仃,并且和主調(diào)函數(shù)中和應(yīng)的:維數(shù)組的第二維的人小一致。二imff串*求四個字符串中最小字符串的問題:#inchide<stdio.h>voidmmstrnig(chars[][20],mtn,cliarnnn[]);voidmain(){mt”;chara[4][20]ymin[20];for(i=0;1<4;卄){gets(a[i]);}mmstnng(a,4,mm);prmtfC^nimstnngis:mni);}voidmmstnng(chars[][20],mtn,charmm[]){char1;strcpy(mnLs[0]);fbr(i=0;iVn;i卄)if(sticmp(mias[i])>0)strcpy(mm、s[i]);}結(jié)構(gòu)體變量與共用體說明*(1)在聲明結(jié)構(gòu)體時,系統(tǒng)不給該結(jié)構(gòu)體分配內(nèi)存空間,僅是定義了一種特定的數(shù)據(jù)構(gòu)造類型,它制定了這種結(jié)構(gòu)體使用內(nèi)存的模式。(2)結(jié)構(gòu)體可以在函數(shù)內(nèi)部定義,也可以在函數(shù)外部定義,其作用域是不同的。如在函數(shù)內(nèi)聲明,則可見性僅限于該函數(shù)。(1)先聲明結(jié)構(gòu)體類型,在定義結(jié)構(gòu)體變量。struct結(jié)構(gòu)體名{成員列表;};struct結(jié)構(gòu)體名結(jié)構(gòu)體變最列表;(2)在聲明結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量。strnct結(jié)構(gòu)體名{成員列表;}變量列表;(3)直接定義結(jié)構(gòu)體變量。stiuct{成員列表;}變量列表;館構(gòu)體妞的引用8使用原點運算符訪問結(jié)構(gòu)體變量中的成員結(jié)構(gòu)體變量名?成員名指向運算符:->說明:不能將一個結(jié)構(gòu)體變量作為一個整體進行輸入和輸出。結(jié)構(gòu)體變最的程序可以進行其類型允許的各種運算。可以應(yīng)用結(jié)構(gòu)體變量成員的地址,也可以引用結(jié)構(gòu)體變量的地址。枷體妞的砒化*stiuct結(jié)構(gòu)體名{成員列表;}給構(gòu)體變量={初始化數(shù)抓列農(nóng)}鰭構(gòu)體變量作番y系統(tǒng)釆用數(shù)據(jù)復(fù)制的方式,系統(tǒng)開銷大,-?般才喲偶那個結(jié)構(gòu)體指針作為函數(shù)的參數(shù).而不用結(jié)構(gòu)體變量作函數(shù)參數(shù)。用結(jié)構(gòu)體變量的成員作參數(shù)。采用的是值傳遞方式。函數(shù)的返回值為結(jié)構(gòu)體類型,一個函數(shù)可以帶回一個函數(shù)值,這個函數(shù)值町以是整型、實型、字符型、指針型等,也可以是一個結(jié)構(gòu)體變量或結(jié)構(gòu)體指針。使用typedef定義數(shù)據(jù)類型的別名typedefintINTEGER;#defmeSCOREstmctscore等價丁typedefstructscoreSCOREtypedefstmctdate{mtmonth;mtday;mtyear;}DATE;說明*常把typedef聲明的類型別名用大寫字母表示,以便與系統(tǒng)提供的標準類型標識符相區(qū)別不能用typedef來定義變量typedef只是對己經(jīng)存在的類型聲明一個類型別名,沒有增加新的數(shù)據(jù)類型typedef與#defme,前者是由編譯器編譯時處理的,后者是市編譯預(yù)處理在編譯預(yù)處理時處理的。而且只能進行簡單的字符串替換。當不同源文件中用到同一類型數(shù)據(jù)時,常用typedef明一些數(shù)據(jù)類型,把他們單獨放在一個文件中,然后在需要用到的地方用#mchide命令把他們包含進來。使用typedef有利于程序的通用與移植。結(jié)構(gòu)體數(shù)組的定義:structstudentstu[30]//student為聲明好的結(jié)構(gòu)體結(jié)構(gòu)體數(shù)組的引用:結(jié)構(gòu)體數(shù)組名[下標]-成員名相同數(shù)據(jù)類型的結(jié)構(gòu)體變最可以相互賦值:stu[2]=stu[l]結(jié)構(gòu)體數(shù)組的初始化:stiuctstudentstu[3]=共用體:共用體又稱聯(lián)合體,是將不同的數(shù)據(jù)類型組合在一起.共同占用同一段內(nèi)存的用戶構(gòu)造數(shù)據(jù)類型。共用體的聲明:uiuon共用體名{成員列表;};說明:共用體所占內(nèi)存人小以及成員中占據(jù)內(nèi)存空間域多的成員為準,可以使用sizeof運算符獲得共用體的內(nèi)存空間大小。共用體變量的引用‘(1)共用體變量名?成員名(2)共用體指針變最名?>成員名(3)C共用體指針變呈名)?成員名共用體的特點*(1)同一個內(nèi)存段町以用來存放不同的數(shù)據(jù)類型的成員,但在每一時刻只能存在其中的一種,而不是同時存放幾種數(shù)據(jù)類型的成員。(2)共用體不能初始化,只能逐個元素賦值(3)共用體變量中存放和起作用的時最后一次存入的成員值,即共同體中的所有成員不是同時存在和起作用的。(4)共用體變量與其各個成員的地址相同。(5)不能把共用體變量作為函數(shù)參數(shù),但可以使用指向共用體變量的指針來實現(xiàn)函數(shù)之間的參數(shù)傳遞。(6)共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型聲明中,也町以定義共用體數(shù)組:結(jié)構(gòu)體也口J以出現(xiàn)在共用體聲明中,數(shù)組也可以作為共用體的成員。使用同f結(jié)構(gòu)體■出學(xué)生和教師的信息:町以使用共用體嵌套到結(jié)構(gòu)體中實現(xiàn)存儲不同的數(shù)據(jù)類型:#mchide<stdio.h>stiuctSTDATA{cliarname[10];mtage;chai*job;uiuon{mtclass;chartitle]10];}kmd;};voidmain(){structSTDATAps[4);mtn.i;for(i=0;1<4;i卄){scanf(M%s%d%c>\ps[i].nanie,&ps[i].age,&ps[i]job);if(ps[i]job='s'){scanfC1%d,\&ps[i].kind.class);}elseif(ps[i].job=*f){scanf(”%s:&ps[i]kmdtitle);}else{prmtf("InputError!");}}pimtfCl\nNameAgeJobClass/TitleW);forQO;K4;t4—){if(ps[i].job="s'){prmtf(c<%-10s%?6d%?3c%-10d\if\ps[f|.name,\ps[i].age,ps[i].job.ps[i].kind,class);}else{prmtf(€<%-10s%-6d%?3c%-10d\tf\ps[i].name,\ps[i].age,ps[i].job,ps[1].kind,class);}}}文件的處理文件處理:所謂打開文件,實際上是建立文件的各種有?關(guān)信息,并使文件指針指向該文件,以便進行其他各種操作;關(guān)閉文件則是斷開指針9文件之間的聯(lián)系,也就是禁止再對該文件進行操作。文件mr開*FILE?fopen(char*filename,char*type);說明:.1E常情況卜行0卩也函數(shù)返回指向文件流的指針。若發(fā)生錯誤,則返回值為空指針NULL無論釆用什么方式打開文件,當文件被正確打開時,文件指針總是指向文件字節(jié)流的開始出。文件的關(guān)閉,mtfclose(FILE*streain);說明:盡管程序執(zhí)行結(jié)束時也會自動關(guān)閉所有打開的文件?但應(yīng)該養(yǎng)成主動關(guān)閉文件的習(xí)慣。出出錯報告函數(shù)voiderror(chai'errorstring);文件結(jié)束檢測錯誤曲數(shù)mtfeof(FILE*stream);文件出錯檢測函數(shù)mtferroHFILE*stream);淸除文件出錯標志函數(shù)voidcleaierr(FILE^stream);文件的wr如字符讀寫兩數(shù)fgetc和fputc字符讀函數(shù):mtfgetc(FILEStream);字符寫兩數(shù):mtfjputc(charch,FILE*stream);字符串讀寫函數(shù)fgets和fputs字符串讀函數(shù):char?fgets(char*stmig,uitn,FILE^fp),讀個字符字符串寫甫數(shù):nitfputs(char*stnng,FILE*fp);格式化讀寫函數(shù)fscanf和fpnntffscanf函數(shù):mtfscanf(FILE*fp,char*fonnat,&argl,...,&argn)fprmtf函數(shù):mtfpiintf(FILE*fp,char?foiuiat,argl,...aigii);文件定位,(1)rewindpfq數(shù):voidrewnid(FILE*fp);fseek兩數(shù)mtseek(FILE*fp,longoffcet,mtbase);ftefl函數(shù)longftell(FILE*fp);swuc件的如由于一般是讀寫一個數(shù)據(jù)塊,因此,常用數(shù)據(jù)塊讀寫函數(shù)fread和fsvntefiead函數(shù)mtfread(void*buf,mtsize,mtcount,FILE^fp);行vnte函數(shù)mtf\xnte(void*buf,intsize,intcount,FILE*fp);高級用法指針數(shù)組指針的指針二維數(shù)組指針結(jié)構(gòu)體指針鏈表指針數(shù)組:在一個數(shù)組中,如果它的元索全部都足折針類型的數(shù)拐,那么這個數(shù)組稱為指針數(shù)組。定義:類型名“數(shù)組名[數(shù)組長度];chai**suit[3]={lcfiret\Msecondn/lhirdn}i指向指針的指針:如果一個變量存放的又是另一個指針變量的地址,則稱這個指針變量為指向指針數(shù)據(jù)的指針變量,又稱多級指針,簡稱為指向指針的指針。定義:類型標識符??指針變量名;利用指針變量訪問另一個變量就是“間接彷問”,在一個指針變量中存放一個目標變量的地址,就是“單級間址”。對于數(shù)組sum由于數(shù)組名本身就表示地址,所以可以直接創(chuàng)建二級指針:char**p;p=suit;#inchide<stdio.h>voidmain(){mta[5]={l,3,5,7,9};mt*niun[習(xí)上mt**p;for(i=0;i<5;i++){num[i]=&a[i];}p=num;for(i=0;i<5;i++){printf(P++;}prmtfCV);}指向二維數(shù)組的指針:的ifcbha=a[0][0]=a[0]a+l=a[l]a[0]+l=a[0][l]a是行指針,*a是列指針,"a表示a[0][0]的值,*a表示a[0]的地址?a[l]+2等價于*(a+l)+2在行指針前面加上一個*就轉(zhuǎn)換為了列指針,若a和出是行指針,則*a和?(a+1)是列指針。描向數(shù)但元素的指針妞#mchide<stdioh>voidmain(){mta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}mt*p;for(p=a[0];p<a[0]+12;p++){if((p-a[0])%4==0)pnntf("\n”);printf("%4d",*p);}}指向由m個元素構(gòu)成的一維數(shù)組的指針變最這種指針使得p+1不是指向a[0][l],而是指向a[l],p的增值以一位數(shù)組的長度為單位,這種指針稱為行指針。數(shù)據(jù)類型(*指針變量名)識];mta[4][3],(*p)[3J;返回指針的函數(shù)函數(shù)類型*隨數(shù)名([形式參數(shù)類型聲明表]){函數(shù)體}指向函數(shù)的指針指向函數(shù)的指針的般定義形式:數(shù)據(jù)類型(*指針變最名)(參數(shù)類型列表)調(diào)用方式:(*指針變量名)(實際參數(shù)列表)mt(*FunctionPomter)(mta);FiinctionPomter=func;//fuiic為函數(shù)名(*FiuictioiiPomter)(100);帶參數(shù)的mam函數(shù)voidmain(mtargc,char*aigv[]){函數(shù)體}argc表示命令行參數(shù)個數(shù),argv表示參數(shù)數(shù)組指向結(jié)構(gòu)體的指針structstudent*p;stiuctstudentstii;p=&stu;〃獲収子元素的三種方法:stuname;(*p)name;p->iiame;〃指t:f的Jj法指向結(jié)構(gòu)體數(shù)組的指針指向結(jié)構(gòu)體數(shù)組的指針實際上與前面定義的指向二維數(shù)組的指針類似,可以理解為二位地址數(shù)組的行指針。動態(tài)內(nèi)存分配:void*malloc(unsignedmtsize);newptr=malloc(sizeof(stnictnode));voidfree(void*p)鏈表結(jié)構(gòu):#inchide<stdioh>#defmeNULL0#defmeLENsizeof(structstudent)/?定義節(jié)點的長度*/#defmeNODEstructstudentstiuctstudent{charno[5];floatscore;structstudent*next;};stiuctstudent*create(void);voidprmtlist(stnictstudent*head);NODE*nisert(NODE*head,NODE*new,mti)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論