链表——最简单的方式搞懂指针

关于指针

  1. 指针存储的是地址
  2. 指针型结构体用->调用成员
  3. 没了,就这么简单

以下代码是创建一个对应多项式A4(x)=7+3x+9x8+5x17 的链表,大家可以粘贴到编辑器中,把注释段运行一下,会明白很多!!

#include<stdio.h>
using namespace std;
struct node{
int coaf,exp;
struct node *next;
};
typedef struct node *Head;
int main(){
node *ptr=new node;//做接入新结点的指针

int a,ex;
node *LA=new node;//创建LA链表之方式一
LA->exp=4;
//ptr=LA;
LA=ptr;//与14行等价
//node LA;//创建LA链表之方式二
//LA.exp=4;
//ptr=&LA;

for(int i=1;i<=4;i++){
    scanf("%d %d",&a,&ex);
    node *tmp=new node;
    tmp->coaf=a;
    tmp->exp=ex;
    ptr->next=tmp;//可以放到23行的上面
//    ptr=tmp;
    ptr=ptr->next;//和下面那一行等价
}
node *p=new node;
//p=&LA;
p=LA;//如果LA是node型
for(int i=1;i<=4;i++){
    node *tmp=new node;
    tmp=p->next;
    printf("coaf=%d exp=%d\n",tmp->coaf,tmp->exp);
    p=tmp;
}

//7 0
//3 1
//9 8
//5 17


}

猜你喜欢

转载自blog.csdn.net/chunjiekid/article/details/81278837