国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C/C++指針學習的兩個經典實例

2019-11-17 05:08:25
字體:
來源:轉載
供稿:網友
  指針學習不好要害是概念不清造成的,說的簡單點就是書沒有認真看,指針的學習如同人在學習饒口令不多看多學多練是不行的,下面是兩個很經典的例子,很多書上都有,對于學習的重點在于理解*指針運算符的作用,假設定義了一個指針變量x,*x所表示的其實就是變量a本身,x表示的是變量a在內存中的地址,假如想明白可以輸出觀察cout<<*x""x;,當定義了int *x;后對x=&a的理解的問題。仔細閱讀和聯系下面的兩個例子我想指針問題就不是難點了!


 C 代碼  
/*程序作者:管寧 
所有稿件均有版權,如要轉載,請務必聞名出處和作者*/
 
#include <stdio.h> 
 
main() 
{ 
int a,b; /* 定義a,b兩個整形變量用于輸入兩個整數 */
int *point_1,*point_2,*temp_point; /* 定義三個指針變量 */
scanf("%d,%d",&a,&b); /* 格式化輸入a,b的值 */
point_1=&a; /* 把指針變量point_1的值指向變量a的地址 */
point_2=&b; /* 把指針變量point_2的值指向變量b的地址 */
if (a<b) 
{ 
    temp_point=point_1; /* 這里的temp_point是用于臨時存儲point_1的值也就是變量a的地址的 */
    point_1=point_2; /* 把point_2的值賦予point_1 */
    point_2=temp_point; 
    /* 由于point_1的值已經改變無法找到,利用前面臨時存儲的也就是temp_point找回原point_1的值賦予point_2,打到把point_1和point_2值對換的目的*/
} 
} 
 
/* 此題需要注重和了解是的此法并沒有改變變量a,b的值只是利用指針變量分別存儲a和b的地址,然后再把那兩個指針變量的值對換一下其實就是存儲在 
指針變量里面a與b的地址對換,在利用*point_1和*point_2的方式把調換后的值顯示出來這里的*point_1實際就是a,此中算法并非真的改變a,b的值,而是 
利用指針進行地址交換達到大小排序的目的. 
*/


 C 代碼  
/*程序作者:管寧 
所有稿件均有版權,如要轉載,請務必聞名出處和作者*/
 
#include <stdio.h> 
 
main() 
{ 
int a,b; /* 定義a,b兩個整形變量用于輸入兩個整數 */
int *point_1,*point_2; /* 定義三個指針變量 */
scanf("%d,%d",&a,&b); /* 格式化輸入a,b的值 */
point_1 = &a; /* 把指針變量point_1的值指向變量a的地址 */
point_2 = &b; /* 把指針變量point_2的值指向變量b的地址 */
compositor(point_1,point_2); /* 調用自定義的排序涵數,把a,b的地址傳遞給point_1和point_2 */
printf("%d,%d",a,b); /* 打印出a,b的值 */
} 
 
static compositor(p1,p2) 
int *p1,*p2; /* 定義形式參數p1,p2為指針變量 */
{ 
int temp; /* 建立臨時存儲變量 */
    if (*p1<*p2) /* 假如*p1<p2,注重這里的*p1和*p2其實就是a和b */
    { 
        temp = *p1; /* 利用變量temp用于臨時存儲*p1和就是a的值 */
        *p1 = *p2; /* 將*p1的值也就是a的值換成*p2的值也就是b的值,等價于a=b */
        *p2 = temp; /* 將*p2的值也就是temp的值等價于b=temp */
    } 
} 
 
/* 注重:此題與上題不同的是,直接改變了a于b的值達到真實改變的目的 */
更多文章 更多內容請看C/C++應用實例專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锡林郭勒盟| 盘锦市| 刚察县| 尖扎县| 辽阳市| 襄汾县| 鄯善县| 芦山县| 辽源市| 叙永县| 杭州市| 马关县| 滨州市| 禄丰县| 仁布县| 江达县| 临漳县| 高青县| 卓尼县| 梅河口市| 肇庆市| 思南县| 儋州市| 九寨沟县| 辽中县| 漳州市| 滁州市| 会昌县| 玛多县| 沁阳市| 侯马市| 和平县| 昌平区| 修武县| 东方市| 汶上县| 桐庐县| 香港| 滕州市| 正阳县| 鄂托克前旗|