指针(1)

什么是指针

指针是一种数据类型(里面存储的是整数),使用它可以用来定义变量(与int、long一样),与int、long不同的是它存储整数代表了内存的编号,通过这个变量可以访问对应编号的内存

为什么使用指针

1、堆内存无法取名字(无法使用标识符与堆内存建立联系),必须配合指针
2、函数之间的参数是值传递(内存拷贝),使用指针可以优化参数的传递效率(指针永远传递4字节,无论内容多大)(需要对变量进行保护)
3、函数之间是相互独立的,有时协同配合需要共享变量(全局变量会造成命名冲突),函数之间传递变量的地址,可以达到共享变量的效果

如何使用指针

定义:类型* 变量名_p;

1、指针变量与普通变量一样,默认值不确定,因此要初始化,且一般初始化为NULL
2、指针变量的用法与普通变量不同,一般以p结尾加以区分
3、指针变量的类型决定了通过指针变量访问内存时访问几个字节
4、指针变量不能连续定义

     int* p1,p2;     // p是指针,p2是int类型变量
     int *p1,*p2;    // p1和p2都是指针

赋值:指针变量 = 内存编号

1、类型要争取
2、内存编号要能够方位,如果编号编写错误,可能造成段错误

	 int* p = malloc(4);
	 int* p = & num;      // 引用内存

访问:*指针变量 // 解引用

1、根据指针变量中存储的内存编号去访问对应的内存
2、如果之前赋值的内存编号有误,这个步骤会出现段错误
3、访问的字节由指针类型决定

		int* p = & num;
		*p <=> & num 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值