您好,登錄后才能下訂單哦!
指針與鏈表結(jié)構(gòu)理解
#include<stdio.h>
int main(void)
{
int a=3,*p;
p=&a;
printf("a=%d,*p=%d\n",a,*p);
*p=10;
printf("a=%d,*p=%d\n",a,*p);
printf("Enter a:");
scanf("%d",&a);
printf("a=%d,*p=%d\n",a,*p);
return 0;
解析:
1.定義×××變量a和×××指針p :int a=3,*p;
2.把變量a的地址賦給指針p,即p指向a :p=&a;
3.輸出變量a的值和指針p所指向變量的值 : printf("a=%d,*p=%d\n",a,*p);
4. 對指針p所指向的變量賦值,相當于對變量a賦值: *p=10;
5. 輸出變量a的值和指針p所指向變量的值 : printf("a=%d,*p=%d\n",a,*p);
6.輸入a:printf("Enter a:");
scanf("%d",&a);
指針變量是用來儲存地址的,而一般變量是儲存數(shù)值的。一個指針變量占用四個字節(jié)。格式為類型名*指針變量名。
取地址運算符為&。通過它獲取地址值。
*為間接訪問運算符。
動態(tài)鏈表結(jié)構(gòu)不需要聯(lián)續(xù)的存儲空間,鏈表的結(jié)點之間是通過指針進行連接的。與數(shù)組結(jié)構(gòu)相對比,鏈表進行插入或刪除的時候不需要移動大量的元素,只需要修改相應的指針就可以了。所以,鏈表結(jié)構(gòu)特別適合大量插入或刪除的程序。
鏈表結(jié)構(gòu)中包含了兩項:1,data變量,結(jié)構(gòu)體類型變量,是鏈表結(jié)構(gòu)的數(shù)據(jù)部分。
2,指針部分,指針名是*next,通過它可以指向下一個結(jié)點。*link也是一個小指針。
在程序中需要用鏈表的地方,可直接寫一個Node類型就可以了。
計科 15-2班 150809227
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。