1

このようなリンクリストがあります

typedef struct list
{
   int num;
   int *ptr;
   struct history * next;
}history;

文字配列もあります

char *args[MAX_LINE/2+1];

*ptrリンクされたリストのポインターを配列に設定したいargs[] ので、これを行いましたhistory->ptr = args; しかし、コンパイルすると、「警告:互換性のないポインター型からの割り当て」というエラーが表示されます

ポインタを配列に割り当てる正しい方法は何ですか?

4

1 に答える 1

3
char *args[MAX_LINE/2+1];

charwhileへのポインタの配列を宣言します

int *ptr;

へのポインタintです。次のように宣言する必要がある場合がありますptr

char **ptr;

ただし、 がポインターに減衰した後は、argsを使用して引数の数 (その要素の数) を取得できなくなることにも注意してくださいsizeof

于 2013-10-08T22:33:50.260 に答える