提醒:使用指针最容易犯得错误是,没有初始化就直接操作!!!
1、指针的初始化/释放
1)指针指向一个内存单元
i)c语言:
char *ch = (char*)malloc(sizeof(char));
free(ch);
ii)c++
char *ch = new ch;
delete ch;
2)指针指向一维数组
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)指向二维数组
原则:创建的时候从外层往里层,逐层创建;而释放的时候从里层往外层,逐层释放
参考该文 https://blog.csdn.net/zhanshen112/article/details/80758850
https://blog.csdn.net/qq_41822235/article/details/81142107
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)