構造体を用いて、メイン関数内のポインタで、値を参照渡しをして、整数型の値1,2,3,が求められるようにしたいです。
#include <stdlib.h> struct cell { int item; struct cell* next; }; struct cell* next(struct cell* ptr) { return ptr->next; } void printList(struct cell* ptr) { while (ptr != NULL) { printf("%d ", ptr->item); ptr = next(ptr); } printf("\n"); } int main() { struct cell* pc1, * pc2, * pc3; pc1 = malloc(sizeof(struct cell)); pc2 = malloc(sizeof(struct cell)); pc3 = malloc(sizeof(struct cell)); pc1->item = 1; pc1->next = pc2; pc2->item = 2; pc2->next = pc3; pc3->item = 3; pc3->next = NULL; printList(pc1) }
このコードの通りエラーが pc1=mallocの方に出ておりまして、構造体変数であるcellとpc1の型が一致していないエラーが出ています。構造体変数としてpc1,pc2,pc3を導入したにも関わらずなぜvoid型としてあらわされるのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/02 12:40