打印
[DemoCode下载]

C语言中指针的用法

[复制链接]
825|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Beckham_Owen|  楼主 | 2016-3-13 22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void max_min(array1)
int array1[10];
{
int *max,*min;  //-----------(1)  定义了两个指针变量 max,min
int k,l;
int *p,*end_p;
end_p=array1+10; //-----------(2) 数组array1[0]地址+10作为一个新地址赋给 end_p 这个指针
max= array1;     //-----------(3) 将array1[0]的地址位赋给 max,将max的指针指向 array1数组。
min= array1;
for (p=array1+1;p p++  是指针所绑定的地址加 1,即指针指向和原来相邻的一个变量
{

if (*p>*max)  max=p;        //-----------(4) 将指针p和指针max所指的变量的值进行比较,将比较大的那个变量的地址赋给 max这个指针,即指针max始终指向一个大的数据

if (*p<*min)  min=p;
}
k=*max;                      //-----------(5)将指针max所指向的变量的值赋给k
*max=array1[0];array1[0]=k;  //-----------(6)  将array1[0]的值赋给指针max所指向的变量
l=*min;
*min=array1[9];array1[9]=l;
return;  
}
PS: max=&array1[0],是将array1[0]的地址赋给指针max


沙发
xinxianshi| | 2018-12-10 11:16 | 只看该作者
指针这种东西搞晕很多人。

使用特权

评论回复
板凳
643757107| | 2018-12-10 17:00 | 只看该作者
最好自己编程一个一个测试测试都打印出来看看

使用特权

评论回复
地板
dongnanxibei| | 2018-12-13 21:03 | 只看该作者
用到这个,我都会在电脑上测一下指针,因为我总记不住

使用特权

评论回复
5
huahuagg| | 2018-12-17 14:35 | 只看该作者
高手都喜欢用这个。

使用特权

评论回复
6
wahahaheihei| | 2018-12-17 17:06 | 只看该作者
指针一度让我疯掉。

使用特权

评论回复
7
dongnanxibei| | 2018-12-26 23:05 | 只看该作者
取地址,存地址,通过地址操作变量。

使用特权

评论回复
8
dongliushui| | 2018-12-27 11:55 | 只看该作者
用串口输出才最好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

234

帖子

1

粉丝