1
、私は元の配列をinitalize、その後、I memcpy
を使用して、2つのアレイを新しいアレイにコピーします。C配列の連結問題
int main(int argc, char *argv[]) {
char *args1[] = {"foo","bar"};
char **args = (char**) calloc(argc, sizeof(char*));
memcpy(args, args1, sizeof(char*) * 2);
memcpy(args + sizeof(char*) * 2, argv+1, sizeof(char*) * (argc-1));
が、私はこの
printf("%s %s %s\n", args[0], args[1], args[2]);
を実行し、その後、私は
の結果を得る./testバズ
を実行します
foo bar
私の2番目のmemcpyがどこで失敗したのか分かりませんが、見つけられません。どんな助け?前もって感謝します。
sigh。私はポインタ算術を知っているので、私はその種のエラーを作り、それに気づかないのは愚かでした。それは私がrosettacodeからポインタを取る最後の時間です –