私は C のスキルに少し慣れていません。先日、課題に取り組んでいて、いくつかの指針に出くわしました。理由はわかりませんが、これは私を完全に困惑させました。したがって、解決策が些細なことである場合はご容赦ください。
次のコードを作成して、あるポインターのデータを別のポインターにコピーしました。memcpy、strcpy、またはその他の関数を使用したくありません。
char *word = "hello world!";
char *ptra = NULL;
ptra = malloc(strlen(word) + 1);
for (; word != '\0'; word++, ptra++) {
*ptra = *word;
}
*ptra = '\0';
これをコンパイルすると、セグメンテーション違反が発生します。誰でもこれで私を助けてもらえますか?