これは今日の私の2番目の問題であり、ポインターは私に悪夢を与えています。strcpy()関数と同じことを行うプログラムを作成しようとしています。一度試してみると、クラッシュして、コード内のポインターの問題であると100%確信しています。ある種の初期化されていないポインタ(*コピー)があるので..しかし、私はそれにNULLを割り当てました...それで、Null割り当てが正確に何のためにあるのか誰かに教えてもらえますか?私はその使用法を誤解していると思うので。そして、正常に実行するためにプログラムにどのような修正を加えることができるか教えてください。
#include <iostream>
using namespace std;
void mycpy(char *b , char *a);
int main()
{
char *original = "this is a text" ;
char *copied = 0 ;
mycpy(copied , original);
for(int i = 0 ; *(copied+i) ;i++) cout << *(copied+i) ;
return 0;
}
void mycpy(char *b , char *a){
for(int i = 0 ; *(a+i) ; i++) *(b+i) = *(a+i);
}
前もって感謝します 。