有半年沒(méi)有用C寫(xiě)代碼了,現(xiàn)在在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),寫(xiě)了點(diǎn)代碼,發(fā)現(xiàn)了很大的問(wèn)題。一直以來(lái)我感覺(jué)自己C語(yǔ)言算不上精通,但是基本語(yǔ)法大多數(shù)也全都掌握的差不多了,但是今天寫(xiě)代碼的時(shí)候,要通過(guò)scanf函數(shù)給一變量賦值時(shí),居然忘寫(xiě) & 符號(hào),這無(wú)異于啪啪給我兩巴掌啊,這么簡(jiǎn)單的語(yǔ)法居然給忘記了,我相信也有不少人和我差不多,都是眼高手低的家伙,以為自己以前學(xué)過(guò),就懶得在練習(xí)了,可是到真寫(xiě)的時(shí)候還寫(xiě)不出來(lái)??磥?lái)以后還是要多寫(xiě)代碼才行,大家一起加油哦,好了不說(shuō)了,上代碼了。
只是一段簡(jiǎn)單的代碼希望和菜鳥(niǎo)一起學(xué)習(xí),注釋不對(duì)的地方,請(qǐng)大牛指點(diǎn)。 還有就是這只是一個(gè)非循環(huán)單鏈表··········· /* 鏈表創(chuàng)建及遍歷 編譯環(huán)境:VC++ 6.0 編譯系統(tǒng):windows XP SP3 */ #include <stdio.h> #include <stdlib.h> #include <malloc.h> // 定義鏈表中的節(jié)點(diǎn) typedef struct node { int member; // 節(jié)點(diǎn)中的成員 struct node *pNext; // 指向下一個(gè)節(jié)點(diǎn)的指針 }Node,*pNode; // 函數(shù)聲明 pNode CreateList(); // 創(chuàng)建鏈表函數(shù) void TraverseList(pNode ); // 遍歷鏈表函數(shù) int main() { pNode pHead = NULL; // 定義初始化頭節(jié)點(diǎn),等價(jià)于 struct Node *pHead == NULL pHead = CreateList(); // 創(chuàng)建一個(gè)非循環(huán)單鏈表,并將該鏈表的頭結(jié)點(diǎn)的地址付給pHead TraverseList(pHead); // 調(diào)用遍歷鏈表函數(shù) return 0; } // 創(chuàng)建鏈表函數(shù) pNode CreateList() { int i; // 用于下面循環(huán) int len; // 用來(lái)存放有效節(jié)點(diǎn)的字?jǐn)?shù) int val; // 用于臨時(shí)存放用戶輸入的數(shù)據(jù) pNode pHead = (pNode)malloc(sizeof(Node)); // 分配一個(gè)不存放有效數(shù)據(jù)的頭結(jié)點(diǎn) pNode pTail = pHead; // 鏈表的最后一個(gè)節(jié)點(diǎn) pTail->pNext = NULL; // 最后一個(gè)節(jié)點(diǎn)的指針置為空 printf("請(qǐng)輸入節(jié)點(diǎn)個(gè)數(shù):"); scanf("%d",&len); for(i = 0; i < len; i++) { printf("第 %d 個(gè)節(jié)點(diǎn)的數(shù)值:",i+1); scanf("%d",&val); pNode pNew = (pNode)malloc(sizeof(Node)); // 為節(jié)點(diǎn)分配空間 pNew->member = val; //將用戶輸入的數(shù)據(jù)賦給節(jié)點(diǎn)的成員 pTail->pNext = pNew; //將最后一個(gè)節(jié)點(diǎn)的指針指向下一個(gè)新的節(jié)點(diǎn) pNew->pNext = NULL; //將新節(jié)點(diǎn)中的指針置為空 pTail = pNew; //將新節(jié)點(diǎn)賦給最后的一個(gè)節(jié)點(diǎn) } return pHead; //返回頭節(jié)點(diǎn) } // 遍歷鏈表函數(shù) void TraverseList(pNode pHead) { pNode p = pHead->pNext; //將頭節(jié)點(diǎn)的指針給予臨時(shí)節(jié)點(diǎn)p while(NULL != p) //節(jié)點(diǎn)p不為空,循環(huán) { } |
|
來(lái)自: 復(fù)雜網(wǎng)絡(luò)621 > 《C語(yǔ)言》