指针使用时,注意事项
- 定义指针先初始化,如果不能确定指针指向,指向0(nullptr)地址;
- 如果指针没有指向,不能使用*运算符,指针也 不能偏移;
- 使用指针时,先判断(判断指针是否为空)再使用;
- 指针操作字符串时,不能修改字符串的值(字符串在常量区,不能修改值)运行时可能导致程序崩溃
- 指针数组时,防止数组越界;
- 堆区内存,使用完以后释放该段内存,否则会出现内存泄漏(可能会蓝屏、死机)。
- 堆区内存释放完以后,必须置空。否则导致野指针(坏指针)(该指针指向非法的内存)
练习代码
int *p=nullptr;
if (p!=nullptr)
*p = 200;
char *pchar = "abcd";
cout << pchar << endl;
char c[10] = "abcd";
pchar = c;
*pchar = 'd';
cout << pchar << endl;
int *p1 = new int[20];
p1 = new int[40];
delete []p1;
if (p1 != nullptr)
{
*p1= 200;
cout << *p1 << endl;
}