C语言指针的学习

1.什么是指针

内存是由字节组成的,字节很多,所以每个字节都有独属于字节的一个编号,这个编号就是地址,地址就是指针


2.指针的定义

 

3.*的作用

  1. 标识符,用在定义指针的时候,表示我定义了一个指针变量 int *p;
  2. 取值运算符,取了指针所指向的空间里面的内容
  3. 乘号

 

int a = 10;

int *p = &a;

P = &a;

*p = a;

4.指针的指向类型和数据类型的大小

Int a = 10;

Int *p = &a;

P的数据类型是int *

p指向的数据类型是int类型

Char a = ‘c’;

Char *p  = &a;

指针的数据类型大小在32OS永远是4个字节,不会因为指向的数据类型而发生改变。

 Int * char * double * float * 都是四个字节。

5.空指针和野指针

野指针,没有固定指向的指针。

野指针,并不知道指向了那片空间,所以比较危险,一般不用

怎样避免野指针?

让野指针指向NULL,然后需要使用指针的时候再给指针p定义指向。

6.Const

Const int *p :const 修饰了*P,所以*p不能被改变,但是和p没关系,p还可以改变指向

Int const *p:const 修饰了*P,所以*p不能被改变,但是和p没关系,p还可以改变指向

Int * const p:const 修饰了P,所以p不能被改变,但是和*p没关系,*p还可以改变

Const int const *p:const修饰了*P,所以*p不能被改变,但是和p没关系,p还可以改变指向

Int const * const p:p和*p都不能被改变。

const 在*的那个地方,如果在*的左边,*p不能被改变,如果在*的右边 p不能被改变

左数右指

Const在*的左边还是右边

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值