• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            c/c++中指針學習的兩個絕好例子-C/C++指針學習

            對于眾多人提出的c/c++中指針難學的問題做個總結:

              指針學習不好關鍵是概念不清造成的,說的簡單點就是書沒有認真看,指針的學習猶如人在學習饒口令不多看多學多練是不行的,下面是兩個很經典的例子,很多書上都有,對于學習的重點在于理解*x和x的理解,他們并不相同,*x所表示的其實就是變量a本身,x表示的是變量a在內存中的地址,如果想明白可以輸出觀察cout<<*x"|"x;,當定義了int *x;后對x=&a的理解的問題。仔細閱讀和聯系下面的兩個例子我想指針問題就不是難點了!

            #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值對換的目的*/
            }
            printf("%d,%d",*point_1,*point_2); /* 利用*point_1和*point_2也就是分辨指向b和a的方法把值顯示自愛屏幕上 */
            }

            /* 此題需要注意和了解是的此法并沒有改變變量a,b的值只是利用指針變量分別存儲a和b的地址,然后再把那兩個指針變量的值對換一下其實就是存儲在
            指針變量里面a與b的地址對換,在利用*point_1和*point_2的方式把調換后的值顯示出來這里的*point_1實際就是a,此中算法并非真的改變a,b的值,而是
            利用指針進行地址交換達到大小排序的目的.
            */



            #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的值達到真實改變的目的 */

            posted on 2010-06-21 23:02 lhking 閱讀(251) 評論(0)  編輯 收藏 引用

            導航

            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            統計

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品美女久久久久99小说| 亚洲精品美女久久久久99| 精品99久久aaa一级毛片| 久久久久国产亚洲AV麻豆| 久久久久久曰本AV免费免费| 色婷婷久久综合中文久久一本| 久久综合五月丁香久久激情| 精品99久久aaa一级毛片| 伊人色综合九久久天天蜜桃| 久久精品亚洲一区二区三区浴池| 久久久精品国产亚洲成人满18免费网站 | 久久综合色区| 国产成人精品久久综合| 欧美喷潮久久久XXXXx| 久久93精品国产91久久综合 | 久久久99精品成人片中文字幕| 午夜精品久久久久久久| 日本WV一本一道久久香蕉| 办公室久久精品| 国产精品久久99| 精品免费久久久久久久| 色综合久久久久综合体桃花网| 青青久久精品国产免费看| 久久精品国产WWW456C0M| 国产伊人久久| 久久99精品久久久久久不卡| 国产L精品国产亚洲区久久| 91久久精品无码一区二区毛片| 久久国产乱子精品免费女| 国产成人精品久久亚洲高清不卡 | 欧美日韩精品久久久久| 亚洲一区精品伊人久久伊人 | 国产午夜福利精品久久| 国产精品亚洲综合专区片高清久久久 | 久久国产三级无码一区二区| 国产精品伊人久久伊人电影 | 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 久久夜色精品国产欧美乱| 久久精品国产亚洲AV嫖农村妇女| 伊人久久综合精品无码AV专区| 亚洲精品乱码久久久久久中文字幕|