亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語(yǔ)言指針運(yùn)用的基本問(wèn)題及其典型例題分析

        2019-02-12 08:24:36李菁
        無(wú)線互聯(lián)科技 2019年24期

        摘 要:文章分析了C語(yǔ)言指針的基本問(wèn)題及其在使用中要注意事項(xiàng)并通過(guò)實(shí)例分析探討了C語(yǔ)言指針的運(yùn)用。最后,對(duì)C語(yǔ)言指針中的典型例題進(jìn)行了講解,以便加深對(duì)C語(yǔ)言指針的認(rèn)識(shí)和理解。

        關(guān)鍵詞:C語(yǔ)言;指針;典型例題

        指針,是C語(yǔ)言中的一個(gè)重要概念及其特點(diǎn),也是掌握C語(yǔ)言比較困難的部分。指針也就是內(nèi)存地址,指針變量是用來(lái)存放內(nèi)存地址的變量,不同類型的指針變量所占用的存儲(chǔ)單元長(zhǎng)度是相同的,而存放數(shù)據(jù)的變量因數(shù)據(jù)的類型不同,所占用的存儲(chǔ)空間長(zhǎng)度也不同。有了指針以后,不僅可以對(duì)數(shù)據(jù)本身,也可以對(duì)存儲(chǔ)數(shù)據(jù)的變量地址進(jìn)行操作。

        1 指針基本問(wèn)題

        1.1 地址與指針

        指針相對(duì)于一個(gè)內(nèi)存單元來(lái)說(shuō),指的是單元的地址,該單元的內(nèi)容里面存放的是數(shù)據(jù)。在C語(yǔ)言中,允許用指針變量來(lái)存放指針,因此,一個(gè)指針變量的值就是某個(gè)內(nèi)存單元的地址或稱為某內(nèi)存單元的指針。

        1.2 指針變量及其定義

        指針變量是存放一個(gè)變量地址的變量,不同于其他類型變量,它是專門用來(lái)存放內(nèi)存地址的,也稱為地址變量。定義指針變量的一般形式為:類型說(shuō)明符 *變量名

        類型說(shuō)明符表示指針變量所指向變量的數(shù)據(jù)類型;*表示這是一個(gè)指針變量;變量名表示定義的指針變量名,其值是一個(gè)地址,例如:char *p1;表示p1是一個(gè)指針變量,它的值是某個(gè)字符變量的地址。

        2 指針使用中要注意事項(xiàng),并舉例說(shuō)明

        (1)不允許把一個(gè)數(shù)賦予指針變量,故下面的賦值是錯(cuò)誤的。例如:

        int *pointer;

        pointer=200; //此處有錯(cuò)誤

        或者

        int a=200;

        int *pointer;

        *pointer=a; //此處有錯(cuò)誤

        分析:前面例子中定義了一個(gè)指針變量pointer,但是不能直接把200賦值給指針變量pointer。后面的例子中定義了一個(gè)整型變量a,并賦初始值為200,又定義了一個(gè)指針變量pointer,這個(gè)變量指向整型數(shù)據(jù),pointer中只能用來(lái)存放整型變量的地址,而不能直接把整型變量a賦值給這個(gè)指針變量pointer。所以可以把a(bǔ)的地址賦值給pointer;應(yīng)改成:

        int a;

        int *pointer;

        pointer=&a;

        或者:

        int a;

        int *pointer=&a;

        (2)不能企圖通過(guò)改變指針形參的值而使指針實(shí)參的值改變。例如下面是錯(cuò)誤的:

        分析:程序運(yùn)行時(shí),從main函數(shù)開(kāi)始執(zhí)行,通過(guò)scanf函數(shù)給a和b賦值,輸入8和10,將a的地址和b的地址分別賦值給指針變量ap1和ap2,使指針ap1指向a,ap2指向b。接著執(zhí)行if語(yǔ)句,由于a

        應(yīng)改成:

        (3)字符串指針指向的是一個(gè)字符串,例如下面是錯(cuò)誤的:

        int main( )

        { char *string1="I love China!";

        printf("%c\n",string1); //此處有錯(cuò)誤

        return 0;

        }

        分析:string1是一個(gè)指針變量,指向字符串"I love China!",指針變量string1存放的是這個(gè)字符串的首地址。所以輸出的是一個(gè)字符串,應(yīng)改寫成printf(“%s\n”,string1);

        (4)函數(shù)指針變量的調(diào)用,以下是錯(cuò)誤的:

        分析函數(shù)指針變量不能進(jìn)行算術(shù)運(yùn)算,這是與數(shù)組指針變量不同的。數(shù)組指針變量加減一個(gè)整數(shù)可使指針移動(dòng)指向后面或前面的數(shù)組元素,而函數(shù)指針的移動(dòng)是毫無(wú)意義的。函數(shù)調(diào)用中“(*指針變量名)”的兩邊的括號(hào)不可少,其中的“*”不應(yīng)該理解為求值運(yùn)算,在此處只是一種表示符號(hào)。要把“z=*pomax(x,y);”改成“z=(*pomax)(x,y);”。

        3 例題分析

        (1)下列程序的輸出結(jié)果是( )。

        #include

        main( )

        { static char *a[]={"Tokyo","Osaka","Sapporo","Nagoya"};

        char **x;

        x=a;

        ++x;

        printf("%s\n",*x);

        }

        (A)Nagoya (B) Sapporo (C)Osaka (D)Tokyo

        解答:選C

        分析:a是一個(gè)指針數(shù)組,每個(gè)元素指向一個(gè)字符串,x是指向指針的指針變量,“x=a;++x;”如圖1所示。

        圖1 程序的輸出結(jié)果

        (2)下列程序段的輸出結(jié)果是( )。

        #include

        void fun(int *x,int *y)

        { printf("%d%d",*x,*y);

        *x=3;

        *y=4;

        }

        main( )

        { int x=1,y=2;

        fun(&y,&x);

        printf("%d%d",x,y);

        }

        (A)2 1 4 3 (B) 1 2 1 2 (C) 1 2 3 4 (D) 2 1 1 2

        解答:選A

        分析:主函數(shù)中“x=1,y=2;”調(diào)用函數(shù)fun(&y,&x)時(shí),形參變量x',y'是兩個(gè)指針變量,分別保存主函數(shù)中int型變量y,x的地址,即x' 2 ,y' 1 (主函數(shù)中x、y暫時(shí)不起作用);執(zhí)行“printf(“%d%d”,*x,*y);”時(shí),輸出“2 1”;執(zhí)行“*x=3;*y=4;”后返回,此時(shí)釋放x',y',主函數(shù)中y=3,x=4。執(zhí)行“printf(“%d%d”,x,y);”后再輸出“4 3”。

        4 結(jié)語(yǔ)

        指針是C語(yǔ)言中一個(gè)重要的組成部分,但也最難理解。指針實(shí)際上就是地址,指針變量是用來(lái)存放指針(地址)的變量,只要理解指針的基本概念,掌握正確的使用方法,就可以從容地面對(duì)計(jì)算機(jī)等級(jí)考試中的指針試題,進(jìn)一步加深對(duì)指針的理解,編出精彩、靈活的程序。

        作者簡(jiǎn)介:李菁(1979— ),女,湖南津市人,講師,碩士;研究方向:數(shù)據(jù)應(yīng)用,數(shù)據(jù)挖掘。

        Basic problems of the use of C language pointer and the analysis of its typical examples

        Li Jing

        (Hunan Vocational College of Electronic and Technology, Changsha 410000, China)

        Abstract:Firstly, this paper analyzes the basic problems of C language pointer and the matters needing attention in its use. Secondly, the paper discusses the application of C language pointer through example analysis. Finally, the typical examples in C language pointer are explained in order to deepen the understanding and understanding of C language pointer.

        Key words:C language; pointer; typical example

        中文字幕乱码人妻无码久久久1 | 国产精品久久久久一区二区三区 | 精品水蜜桃久久久久久久| 亚洲精品无码专区在线| 国产三级在线观看免费| 精品91精品91精品国产片| 97中文乱码字幕在线| 亚洲av福利院在线观看| 亚洲第一无码xxxxxx| 久久久AV无码精品免费| 久久综合一本中文字幕| 日韩女同在线免费观看| 国99久9在线 | 免费| 国产精品亚洲一区二区无码| 亚洲av福利天堂在线观看 | 国产精品一区二区资源| 精品免费人伦一区二区三区蜜桃| 成人偷拍自拍在线视频| 日韩熟女系列中文字幕| 国产成人aaaaa级毛片| 免费看奶头视频的网站| 国产av在线观看91| 亚洲精品在线97中文字幕| 国产午夜片无码区在线播放| 欧美人与动人物姣配xxxx| 在线丝袜欧美日韩制服| 精品老熟女一区二区三区在线 | 久久精品黄aa片一区二区三区| 亚洲乱码国产一区三区| 探花国产精品三级在线播放| 免费在线av一区二区| 日本精品女优一区二区三区| 国产美女久久精品香蕉69| 亚洲天堂av免费在线看| 一区二区三区少妇熟女高潮| 欧美又大又硬又粗bbbbb| 东北老女人高潮大喊舒服死了| 欧美成人三级一区二区在线观看 | 99久久久精品免费| 国产一区二区三区最新地址| 男ji大巴进入女人的视频小说|