专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

C语言中针的用法

作者:huqin   来源:本站原创   点击数:  更新时间:2014年05月01日   【字体:

 说起他的都是废话;直接上例子讲解。

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

关闭窗口

相关文章