C++基础学习笔记01——指针

  1. 指针的用途
    通过指针间接访问内存
  2. 指针的定义
    数据类型 *变量名;
	int a=10;
	int *p;
	p=&a;	//p中保存了变量a的地址 
	int *p=&a; //与上同理
	cout<<*P<<endl; //得到p指向的地址所存储的数据
  1. 空指针,野指针
    空指针:指针变量指向内存中编号为0的空间
    用途:初始化指针变量,不可访问
int *p=NULL;

野指针:指针变量指向非法的内存空间

  1. const修饰指针
    4.1const修饰指针——常量指针
int a=10;
int b=20;
const int *p=&a;//const修饰指针,指针指向可以改,指针指向的值不可以更改
p=&b;//正确 
//*p=20;错误

4.2.const修饰常量——指针常量

int a=10;
int b=20;
int *const p=&a;	//const修饰常量,指针指向不可以改,指针指向的值可以更改
*p=20;		//正确
//p=&b;错误 

4.3.const既修饰指针又修饰常量

int a=10;
int b=20;
const int *const p=&a;	//const既修饰常量又修饰常量 
//*p=20;错误 
//p=&b;错误 
  1. 指针和数组
int arr[5]={1,2,3,4,5};
int *p=arr;		//访问数组首地址
  1. 指针和函数
    利用指针作为函数参数,可以修改实参的值(地址传递)
void swap(int *p1,int *p2){
	int temp=*p1;
	*p1=*p2;
	*p2=temp;
}
int main(){
	int a=10;
	int b=20;
	swap(&a,&b); 
}
  1. 指针和结构体
struct Student{
	string name;
	int age;
};
int main(){
	Student s={"Mike",18};
	Student *p=&s;		//指针指向结构体变量s 
	cout<<p->name<<" "<<p->age<<endl;	//访问结构体中的属性 
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值