C语言--指针

C语言指针与const详解
本文详细介绍了C语言中的指针概念,包括指针的定义、使用场景及野指针的危害与预防措施。同时深入解析了const关键字的用法,并通过多个实例展示了其在不同情景下的应用。

1.指针:定义指针变量--->绑定地址--->解引用

2.为什么使用指针?

   内存中没有变量名或者函数名,有的只是16进制的数据和地址

3.野指针:未经过初始化的指针;

   2)危害:如果随机指向操作系统中地内核中,很危险,会报错

 

   如果指向一个区域,可以使用,而且没有别的变量占用,当改变这片区域的值的时候,结果正确,但有危险.

 

   如果指向存在别的变量,但是你通过指针改变了原有的变量,导致程序出错.

   3)如何避免野指针?

   定义的同时初始化.

4.C语言中的const关键字

 

const  int  a=12;
	//int arr[a]={};  错误  const只能修饰只读变量 ,数组长度应该是常量
	//若要改变a的值而且不发生任何的警告:强制类型转化
	int *p;
	p=(int *)&a;
	*p=100; 


情况1:

 

 

	int a=10,b=20;
	int * const  p1=&a;
	//p1=&b;  const修饰的是p1,p1不可以改变,但是p1指向地内容可以改变 
	*p1=b;


情况2:

 

 

	int a=10,b=20;
	int  const * p2=&a;
	p2=&b;  
//	*p1=b;  p2里面的值不可以改变 


情况3:同2:

 

 

       const  int *p3;

情况4:

 

 

	int a=10,b=20;
	const int * p4=&a;
//	p2=&b;  全部不可以改变
//	*p1=b;   
	

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值