#include<stdio.h>
#include<stdlib.h>
#define maxsize 11
typedef struct Stacklink{
int data;
struct Stacklink* next;
}stacklink;
void pushlink(stacklink* s, int x);
void readlink(stacklink* s);
int main() {
stacklink* head=NULL;
pushlink(head, 1);
readlink(head);
return 0;
}
void pushlink(stacklink* s, int x) {
stacklink* p;
p = (stacklink*)malloc(sizeof(stacklink));
p->data = x;
if (s == NULL) { p->next = NULL; }
else { p->next = s; }
s = p;
}
void readlink(stacklink* s) {
if (s == NULL) { printf("erro:empty"); return; }
else {
stacklink* p=s;
while (p != NULL) {
printf("%d\n", p->data);
p = p->next;
}
}
}
```
加一句s= (stacklink*)malloc(sizeof(stacklink));
#include<stdio.h>
#include<stdlib.h>
#define maxsize 11
typedef struct Stacklink {
int data;
struct Stacklink* next;
} stacklink;
void pushlink(stacklink* s, int x);
void readlink(stacklink* s);
int main() {
stacklink* head=NULL;
pushlink(head, 1);
readlink(head);
return 0;
}
void pushlink(stacklink* s, int x) {
stacklink* p;
p = (stacklink*)malloc(sizeof(stacklink));
p->data = x;
if (s == NULL) {
p->next = NULL;
}
else {
p->next = s;
}
s = p;
}
void readlink(stacklink* s)
{
s=(stacklink*)malloc(sizeof(stacklink));
if (s == NULL) {
printf("erro:empty");
return;
}
else {
stacklink* p=s;
while (p != NULL) {
printf("%d\n", p->data);
p = p->next;
}
}
}