char * ポインター [x] に char ワード [x] [y] を割り当てようとしています。しかし、コンパイラは私にエラーを与えています
配列型 'char *[5]' は代入可能 ポインター = &words[0]ではありません
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char words[5][10]={"Apple", "Ball", "Cat", "Dog", "Elephant"};
char *pointer[5];
pointer = &words[0];
char **dp;
dp = &pointer[0];
int n;
for(n=0; n<5; n++){
printf("%s\n", *(dp+n));
}
return 0;
}
しかし、コードは動作します
char *pointer[5]={"Apple", "Ball", "Cat", "Dog", "Elephant"};
char **dp;
dp = &pointer[0];
必要なのは、2D 配列をポインター配列に正しく割り当てることだけです!!