初识指针—C语言

本文详细介绍了地址与指针的基本概念,包括指针的定义、初始化、引用以及指针与一维数组的关系。通过实例探讨如何使用指针操作内存和数组,最后给出一个找数组中最大值和最小值的例题。

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

目录:

1.地址与指针的概念

2.指针的定义与引用

(1)指针的定义与初始化

(2)指针的引用

3.指针与一维数组

 

1.地址与指针的概念

  计算机中用来存储数据的记忆部件被称为存储器,存储器分外部存储器(外存)和内部存储器(内存)。计算机中的程序和数据都存在内存中。内存是CPU可以直接访问到的存储空间,内存可以看做由无数个字节单元构成的,每个字节单元对应唯一的地址标识,范围从0到所安装的内存数量的最大值。这样,我们就可以通过地址来访问对应的内存单元了。其中用来存储地址的变量就称为指针,指针存储的地址可以是变量的地址,数组,函数的起始地址,也可以是指针的地址。

  2.(1)指针的定义与初始化

类型名 * 指针名;

类型名说明指针所指变量的类型;

星号(*)是一个指针变量的标识。

使用指针之前一般需要初始化变量。

例:int i = 0;

      int *p;

      p=&i;

&:取地址运算符

*:指针运算符,表示取其指向地址中的内容

(2)指针的引用

附例:通过指针变量访问整形变量5ee9115fde3a48cd8a6b60fc089ee9d1.jpg

 应用:按从大到小的顺序输出两个数字83592bd07c72459084cb5e8d0d79b039.jpg

 相比于交换变量的方法,此方法不改变变量值,只是改变了指针变量所指的地址。

3. 指针与一维数组

首先设置一个一维数组,然后将数组中第一个元素地址赋值给指针变量。

当指针p指向数组a的时候,a的首地址就赋值给了p,即p=&a[0];p+1指向同一数组的下一个元素地址,p+1的具体值与元素的数据类型有关。

实际上,如果p的初值为数组的首地址,p+i和a+i就是a[i]的地址,表示a数组中的第i+1个元素。

附例:利用指针和循环输入输出数组26a0d609e60241888522866b98ecbff6.jpg

 指针的运算法则:

p=p+n 表示p向高地址方向移动n个存储单位块

p=p-n 表示p向低地址方向移动n个存储单位块

p++ 和++p表示p向高地址方向移动1个存储单位块

p-- 和--p表示p向低地址方向移动1个存储单位块

两个指针之间只拿进行减法运算,且类型相同,指向同一数组,表示两个指针之间相隔的元素。

下面留一道指针的题,感兴趣的uu们可以尝试一下,我把自己的方法放到下面啦,答案仅供参考,uu们可以用自己喜欢的方式做。

例题:用指针方式从十个数组元素中找到最大值和最小值,并指出其位置。123680f775634f60ac20c511bac80686.jpg

a37ac1d601754a98a5c8ca92a66e3fa5.jpg 

 如有不当之处,欢迎uu们批评指正^ω^

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大海里的云朵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值