C/C++中結(jié)構(gòu)體(struct)知識點(diǎn)強(qiáng)化(一)
時(shí)間:2008-10-04 04:26:00 來源:無憂考網(wǎng) [字體:小 中 大]結(jié)構(gòu)體可以看做是一種自定義的數(shù)據(jù)類型,它還有一個(gè)很重要的特性,就是結(jié)構(gòu)體可以相互嵌套使用,但也是有條件的,結(jié)構(gòu)體可以包含結(jié)構(gòu)體指針,但絕對不能在結(jié)構(gòu)體中包含結(jié)構(gòu)體變量。
struct test
{
char name[10];
float socre;
test *next;
};//這樣是正確的!
struct test
{
char name[10];
float socre;
test next;
};//這樣是錯(cuò)誤的!
利用結(jié)構(gòu)體的這點(diǎn)特殊特性,我們就可以自己生成一個(gè)環(huán)環(huán)相套的一種射線結(jié)構(gòu),一個(gè)指向另一個(gè)。 來源:www.examda.com
鏈表的學(xué)習(xí)不像想象的那么那么容易,很多人學(xué)習(xí)到這里的時(shí)候都會碰到困難,很多人也因此而放棄了學(xué)習(xí),在這里我說,一定不能放棄,對應(yīng)它的學(xué)習(xí)我們要進(jìn)行分解式學(xué)習(xí),方法很重要,理解需要時(shí)間,不必要把自己逼迫的那么緊,學(xué)習(xí)前你也得做一些最基本的準(zhǔn)備工作,你必須具備對堆內(nèi)存的基本知識的了解,還有就是對結(jié)構(gòu)體的基本認(rèn)識,有了這兩個(gè)重要的條件,再進(jìn)行分解式學(xué)習(xí)就可以比較輕松的掌握這一節(jié)內(nèi)容的難點(diǎn)。
下面我們給出一個(gè)完整的創(chuàng)建鏈表的程序,不管看的懂看不懂希望讀者先認(rèn)真看一下,想一想,看不懂沒有關(guān)系,因?yàn)槲蚁旅鏁蟹纸馐降慕坛蹋暗幕舅伎家欢ㄒ,要不即使我分解了你也是無從理解的。
代碼如下,我在重要部分做了注解:
#include
using namespace std;
struct test
{
char name[10];
float socre;
test *next;
};
test *head;//創(chuàng)建一個(gè)全局的引導(dǎo)進(jìn)入鏈表的指針
test *create()
{
test *ls;//節(jié)點(diǎn)指針
test *le;//鏈尾指針
ls = new test;//把ls指向動(dòng)態(tài)開辟的堆內(nèi)存地址
cin>>ls->name>>ls->socre;
head=NULL;//進(jìn)入的時(shí)候先不設(shè)置head指針指向任何地址,因?yàn)椴恢朗欠褚簧蟻砭洼斎雗ull跳出程序
le=ls;//把鏈尾指針設(shè)置成剛剛動(dòng)態(tài)開辟的堆內(nèi)存地址,用于等下設(shè)置le->next,也就是下一個(gè)節(jié)點(diǎn)的位置
while(strcmp(ls->name,"null")!=0)//創(chuàng)建循環(huán)條件為ls->name的值不是null,用于循環(huán)添加節(jié)點(diǎn)
{
if(head==NULL)//判斷是否是第一次進(jìn)入循環(huán)
{
head=ls;//如果是第一次進(jìn)入循環(huán),那么把引導(dǎo)進(jìn)入鏈表的指針指向第一次動(dòng)態(tài)開辟的堆內(nèi)存地址
}
else
{
le->next=ls;//如果不是第一次進(jìn)入那么就把上一次的鏈尾指針的le->next指向上一次循環(huán)結(jié)束前動(dòng)態(tài)創(chuàng)建的堆內(nèi)存地址
}
- 2024年9月上海計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級考試成績查詢?nèi)肟冢ㄒ验_
- 2024年9月江蘇計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月浙江省全國計(jì)算機(jī)等級考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)等級考試成績查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級成績查詢時(shí)間及查分入口