プロが教える店舗&オフィスのセキュリティ対策術

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]という文字列が代入されてしまうだけなので…

よろしくお願いします。

A 回答 (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;
}
    • good
    • 0
この回答へのお礼

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

本当にありがとうございました!

お礼日時:2011/07/09 21:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!