注意:ポインタを使用するときに犯す最も簡単な間違いは、初期化せずに直接操作することです!!!
1.ポインタの初期化/解放
1)ポインタがメモリユニットを指している
i)c言語:
char *ch = (char*)malloc(sizeof(char));
free(ch);
ii)c ++
char *ch = new ch;
delete ch;
2)ポインタが1次元配列を指している
i)c言語:
int N,*p;
scanf("%d",&N);
p = (int *) malloc(N * sizeof(int));
for(int i = 0; i < N; i++)
{
scanf("%d",(p+i));
}
free(p);
ii)c ++
int N,*p;
cin>>N;
p = new int [N];
for(int i = 0; i < N; i++)
{
cin>>*(p+i);
}
delete [] p;
3)2次元配列を指す
原理:作成するときは、外側のレイヤーから内側のレイヤーに、レイヤーごとに作成します。リリースするときは、内側のレイヤーから外側のレイヤーに、レイヤーごとにリリースします。
記事https://blog.csdn.net/zhanshen112/article/details/80758850を参照して ください
https://blog.csdn.net/qq_41822235/article/details/81142107