c语言赋值的问题,看过来

void additem(int coff,int exp,Node* pol)
{
struct node* p;
if(pol==NULL)
{
pol=(polynomial)malloc(sizeof(Node));
pol->next=NULL;
p=pol;
}
else
p=addnode(pol);
p->data.cofficient=coff;
p->data.exponent=exp;

}
Node* addnode(Node* pol)
{
Node* temp=pol;
while(temp)
temp=temp->next;
temp=(Node*)malloc(sizeof(Node));
temp->next=NULL;
return temp;
}

typedef struct{
int cofficient;
int exponent;
}Data;
typedef struct node{
Data data;
struct node* next;
}Node;
typedef Node* polynomial;
void initialize(Node*);
void additem(int,int,Node*);
Node* addnode(Node*);

#include
#include
#include "head.h"

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
polynomial p1;
initialize(p1);
additem(5,3,p1);
printf("%d",p1->data.cofficient);
return 0;
}
为什么始终不能给p1->data.cofficient赋值

c

1个回答

 additem(5,3,&p1);

传地址

hc19961106
hc19961106 太感谢您了,我Debug了一早上都没找出错误
5 年多之前 回复
hc19961106
hc19961106 p1就是地址啊
5 年多之前 回复
立即提问
相关内容推荐