• ベストアンサー

char型のポインタ配列に変数の値の代入できる?

c言語でchar型のポインタ配列に変数の値を代入できるのでしょうか? 例えば int A[10]={1,2,3,4,5,6,7,8,9,10}; char *C[10]; のCに配列Aの中のデータを文字列として入れたいのです。 C[0]="A[0]"としてもA[0]という文字列が代入されてしまうだけなので… よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

いちばん安直なコードです。 #include <stdio.h> #include <stdlib.h> int main(void) { int A[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, i; char *C[10]; for (i = 0; i < 10; i++) { C[i] = malloc(3); // malloc()の引数は、(A[i]の桁数+1)以上であること if (!C[i]) exit(1); sprintf(C[i], "%d", A[i]); printf("%s\n", C[i]); } return 0; }

kagari321
質問者

お礼

ありがとうございます やりたいと思っていた処理ができました malloc関数が必要とは思いつきませんでした… 本当にありがとうございました!