C语言,指针详解

指针是C语言中的重要概念,它是一种数据类型,用于存储数据的地址。指针根据所指向的数据类型分为不同种类,如int指针。在x86和x64系统中,指针占用的字节数不同。指针可以进行加减运算,例如在数组中移动。指针数组是一组保存地址的数组,而数组指针则是一个指针,它指向整个数组。const与指针的结合可以限制数据或指针本身的修改。此外,指针还可用于判断系统的存储模式,如大小端模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针的概念:

        指针是一种数据类型,指针变量就是保存了数据地址的变量

什么类型的指针保存着什么类型数据的地址,也就指向什么类型的变量。比如int类型的变量地址就需要int类型的指针来存储。在c语言中,允许一个变量存放指针变量的地址,就是所谓的多级指针(在后面会提到)。

        在x86系统中,指针占4个字节,在x64系统中,指针占8个字节。

指针使用:

 1.指针与二级指针的简单使用:

给指针赋值时,使用的是引用符来表示变量的地址;图中第四行*p就代表a;**p也是。尽量在定义指针的时候就给指针赋值,避免野指针问题。

2.const与一级指针的结合:

const与指针结合有俩种形式,第一种为const放在指针的前面,意思为指针指向的数据不能被修改;第二种为指针的后边,意思为指针本身不能被修改。

 

3.指针与数组:

 

运行结果为:

 

这说明:

1)指针指向数组的时候保存的是数组首元素的地址;

2)指针可以进行加减运算, +1即什么类型的指针加1*什么类型的字节。

上图中,指针+1后指向了数组第二个元素。

4.指针数组与数组指针:

指针数组:保存着地址的数组;

 

例如:const char* brr[]={"hello","word","1234"}

 

 

 指针数组必须使用const来定义(指向的字符串是不可修改的常量)。(指针数组只能指向字符或字符串的地址)

数组指针:

p:指向一个数组的指针:

其作用为:

 

 

 

5.指针可以用来判断系统的存储模式:

char* 类型的指针+1和int* 类型指针+1所加字节数不相同,因此可以用来判断系统大小端存储模式。 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g162512

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值