專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

C語言中針的用法

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年05月01日   【字體:

 說起他的都是廢話;直接上例子講解。

void max_min(array1)
int array1[10];
{
int *max,*min;  //-----------(1)  定義了兩個(gè)指針變量 max,min
int k,l;
int *p,*end_p;
end_p=array1+10; //-----------(2) 數(shù)組array1[0]地址+10作為一個(gè)新地址賦給 end_p 這個(gè)指針
max= array1;     //-----------(3) 將array1[0]的地址位賦給 max,將max的指針指向 array1數(shù)組。
min= array1;
for (p=array1+1;p p++  是指針?biāo)壎ǖ牡刂芳?1,即指針指向和原來相鄰的一個(gè)變量
{
 
 if (*p>*max)  max=p;        //-----------(4) 將指針p和指針max所指的變量的值進(jìn)行比較,將比較大的那個(gè)變量的地址賦給 max這個(gè)指針,即指針max始終指向一個(gè)大的數(shù)據(jù)


 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

關(guān)閉窗口

相關(guān)文章