0

だから私はリンクされたリストの配列を作成しようとしています.最初は次のコードがありました:

typedef struct node{
    int data;
    struct node *next;
} node;

struct ko {
    struct node *first;
    struct node *last;
} ;

struct ko array[6];

このコードでは、プログラムの残りの部分は正常に実行されますが、プログラムの開始時にユーザーが配列サイズを定義できるようにしたいと考えています。いくつかの調査の後、次のようにする必要があると思います。

.h ファイル

typedef struct node{
    int data;
    struct node *next;
} node;



struct ko {
    struct node *first;
    struct node *last;
} ;

struct ko *array;

main.c ファイル:

int size;
printf("array size: ");
scanf("%d", &size);
array = malloc(sizeof(struct ko) * size);

このコードを使用すると、プログラムは正常にコンパイルされますが、実行時にスタックするだけで、クラッシュせず、何もしません...だから、問題がこのコードにあるのか、それとも他の場所にあるのか疑問に思っていますプログラム..ありがとう

4

2 に答える 2

0

ここですぐに間違っていることは何もありません...配列の内容をゼロで初期化するようにしてください(実際には100%移植可能な方法はforループを使用しますが、使用calloc()は通常のすべてのプラットフォームで機能します)。

于 2013-05-23T09:33:58.187 に答える