int *p=nullptr 给一个空指针
指针运算符又叫做间接引用运算符 “间引”;
不赋值 “野指针”---很危险;
空指针用nullptr----不建议NULL;
指针
定义一个指针变量 int*p
例如
int*pInt;
char*pCher;
short*pShort;
long*pLong;
long long*pLL;
为指针赋值 NULL即为0(不建议用)nullptr
例1
int a=1;
int b=2;
int*pA=&a;
int*pB=&b;
pA=pB;
空指针: int*p=nullptr;
int a=nullptr;
指针变量存放的是地址
指针存放的是地址,野指针要赋值,null=0,nullptr只能赋给指针,意为空指针
指针
- 内存是个临时的存储数据的容器。
当程序开始运行时,程序用到的数据就会放在内存中
然后将内存中数据调取到CPU中进行运算。
运算完成后将结果传输出去,数据再放回内存中。
指针变量:存放变量在内存中的地址。
定义:
int *p = nullptr; //只能给指针使用
定义一个指针后,它里面存放的是随机地址,此时它是野指针,操作野指针非常危险,所以要给指针赋值。
仅适用于指针变量
使一个字母等于另一个字母
对一个字母取值 通过指针来指向变量a
使一个字母等于另一个字母
p指向a
#include <stdio.h>
int main(int argc, char** argv)
{
int a = 1;
int b = 2;
int* pA = &a;
int* pB = &b;
pA = pB;
return 0;
}
运行成功 yep!!!
int a=2
int *p=&a
等价于:
*p=2
野指针指的是没有指明地址的指针,直接操作会很危险
我们可以先赋值一个空指针,但不要直接定义int *p;
可以这样int*p=nullptr;
指针
nullptr 是c++为描述空指针而提供的值,与NULL区别在于nullptr只能赋值给指针变量,NULL则可以赋值给整形等其他变量。两者相较而言NULL可能会造成一些潜在的问题
指针变量:存放变量在内存中的地址。定义一个指针后,它里面存放的是随机地址,此时它是野指针,操作野指针非常危险,所以要给指针赋值。
取地址符:&
例如:int a=10;
int *p; //这个写法就属于野指针,正确做法是将指针赋值为空int*p=nullptr,空指针意思是这个指针不指向任何地方。
p=&a; //此时指针变量p里存放的就是变量a的地址
指针运算符:*(用来取得某个地址上的数据)