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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言基础笔记3

發(fā)布時(shí)間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言基础笔记3 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、全局變量的有效區(qū)并不是整個(gè)文件中,而是從定義該全局變量處開始。 2、在局部??臻g定義的變量,一旦加上static后,其存儲空間就變成了常量區(qū)的靜態(tài)數(shù)據(jù)區(qū)了,其作用范圍,近似 ?????全局變量,并且,如果不初始化,程序會(huì)自動(dòng)賦0。如果賦值則只會(huì)賦值一次。下一次變回記住第一次的賦值。 3、static修飾全局變量是,不讓全局變量被其他文件借用,或修改。即加了權(quán)限設(shè)置。同理,對于函數(shù)來說,也 ? ? ?是一樣,當(dāng)其他局部函數(shù)加上static后,該函數(shù)就不能被其他函數(shù)所調(diào)用了。靜態(tài)函數(shù)只能在本文件內(nèi)使用。 ? ? ?extern可以用來擴(kuò)寬局部變量的作用范圍。 4、定義短字節(jié)的數(shù)據(jù)(char 、short)可以節(jié)省空間。算結(jié)構(gòu)體的大小時(shí),推薦用sizeof去算。 5、學(xué)習(xí)結(jié)構(gòu)體時(shí),用scanf輸入時(shí),就可以適當(dāng)?shù)年P(guān)注其返回值了,如果有幾個(gè)成功匹配它就會(huì)返回幾。 ? ? ?其中,對于空格來說,%d ?%S 都可以忽略空格,但%c ?就不行,,對于空格,它也照樣讀,這里就需要注意一 ?????下了。其中一個(gè)簡單的技巧就是,在scanf里面的雙引號里面輸入一個(gè)空格eg:“ ? %c” 6、需要理解的是,一般會(huì)將結(jié)構(gòu)體的定義放在主函數(shù)外面,或者更多的是放在頭文件里。注意:這里是定義的是一 ?????個(gè)結(jié)構(gòu)體類型,而不是變量。故它并不是全局變量。這點(diǎn)是值得注意的。 7、對于有前++的運(yùn)算表達(dá)式? 不用拆成兩部分。直接看優(yōu)先級以及結(jié)合順序。對于后++。一定先放在后一步。 ? ? ?先看優(yōu)先級,再看結(jié)合順序 8、鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu),是動(dòng)態(tài)的進(jìn)行存儲分配的一種結(jié)構(gòu)。 9、鏈表的建立時(shí)有:頭插法、尾插法、有序插法 頭插法: void list_head_insert(IN OUT pstu* pphead,IN OUT pstu* pptail,IN int i) { ? ? pstu pnew=(pstu)malloc(sizeof(stu)); ? ? memset(pnew,0,sizeof(stu)); ? ? pnew->num=i; ? ? if(NULL==*pphead)//當(dāng)鏈表為空時(shí),新節(jié)點(diǎn)即為頭節(jié)點(diǎn),又為尾節(jié)點(diǎn) ? ? { ? ? ? ? *pphead=pnew; ? ? ? ? *pptail=pnew; ? ? }else{//當(dāng)鏈表不為空時(shí),原有的頭節(jié)點(diǎn)作為新節(jié)點(diǎn)的pnext,pnew成為新的頭 ? ? ? ? pnew->pnext=*pphead; ? ? ? ? *pphead=pnew; ? ? } }
//尾插法新建鏈表 void list_tail_insert(IN OUT pstu* pphead,IN OUT pstu* pptail,IN int i) { ? ? pstu pnew=(pstu)malloc(sizeof(stu)); ? ? memset(pnew,0,sizeof(stu)); ? ? pnew->num=i; ? ? if(NULL==*pptail) ? ? { ? ? ? ? *pphead=pnew; ? ? ? ? *pptail=pnew; ? ? }else{ ? ? ? ? (*pptail)->pnext=pnew; ? ? ? ? *pptail=pnew; ? ? } }
//有序插入 void list_sort_insert(IN OUT pstu* pphead,IN OUT pstu* pptail,IN int i) { ? ? pstu ppre,pcur; ? ? pstu pnew=(pstu)malloc(sizeof(stu)); ? ? memset(pnew,0,sizeof(stu)); ? ? pnew->num=i; ? ? ppre=*pphead; ? ? pcur=*pphead; ? ? if(NULL==ppre)//鏈表是否為空 ? ? { ? ? ? ? *pphead=pnew; ? ? ? ? *pptail=pnew; ? ? }else if(ppre->num>i)//頭插法,將新節(jié)點(diǎn)插入 ? ? { ? ? ? ? pnew->pnext=*pphead; ? ? ? ? *pphead=pnew; ? ? }else{//插入中間 ? ? ? ? while(pcur!=NULL) ? ? ? ? { ? ? ? ? ? ? if(pcur->num>i) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ppre->pnext=pnew; ? ? ? ? ? ? ? ? pnew->pnext=pcur; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? ppre=pcur; ? ? ? ? ? ? pcur=pcur->pnext; ? ? ? ? } ? ? ? ? if(NULL==pcur)//尾部插入 ? ? ? ? { ? ? ? ? ? ? ppre->pnext=pnew; ? ? ? ? ? ? *pptail=pnew; ? ? ? ? } ? ? } } 10、刪除鏈表分為四種情況:刪的是頭部,中間,尾部,以及,最后一次,刪除完后就變成空鏈表的情況。 ? ? ? ?還有一點(diǎn)就是刪除一個(gè)節(jié)點(diǎn)后,要記得釋放它的內(nèi)存空間。服務(wù)器程序大部分情況下是不會(huì)運(yùn)行停止的。 ? ? ? ?微軟的編譯器是masm 編譯器

總結(jié)

以上是生活随笔為你收集整理的C语言基础笔记3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。