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

        ?

        辨析指針數(shù)組與數(shù)組指針

        2017-04-12 00:35:18張小軍
        關(guān)鍵詞:運(yùn)算符數(shù)據(jù)類型數(shù)組

        張小軍, 張 晶

        (河南教育學(xué)院 信息技術(shù)系,河南 鄭州 450046)

        辨析指針數(shù)組與數(shù)組指針

        張小軍, 張 晶

        (河南教育學(xué)院 信息技術(shù)系,河南 鄭州 450046)

        在C語言代碼的編寫過程中,指針數(shù)組與數(shù)組指針是經(jīng)常用到的數(shù)據(jù)類型,其形式相近而意義迥然.正確理解這兩個(gè)概念是使用C語言寫好代碼的前提.通過實(shí)例比較,闡述指針數(shù)組與數(shù)組指針的差異.

        指針;指針數(shù)組;數(shù)組指針;地址;內(nèi)存

        由于C語言具有高級(jí)程序設(shè)計(jì)語言的特點(diǎn),又具有匯編語言的特點(diǎn),所以它不但可以作為系統(tǒng)設(shè)計(jì)語言用來編寫系統(tǒng)軟件,應(yīng)用于單片機(jī)以及嵌入式系統(tǒng)開發(fā)等,還可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,處理海量的數(shù)據(jù),被廣泛應(yīng)用于各類信息的處理. 而指針數(shù)組與數(shù)組指針則是C語言中的重要數(shù)據(jù)類型,經(jīng)常被使用.因?yàn)樗鼈冃问较嘟苋菀妆换煜?下面從指針的概念開始,辨析指針數(shù)組與數(shù)組指針這兩個(gè)概念,繼而給出實(shí)例闡述這兩個(gè)概念的區(qū)別[1].

        1 指針、指針數(shù)組與數(shù)組指針的概念

        1.1 指針

        指針的本質(zhì)是一個(gè)地址,表現(xiàn)為一個(gè)十六進(jìn)制的數(shù)據(jù).在內(nèi)存中,它占據(jù)4個(gè)字節(jié)的存儲(chǔ)空間,是變量在內(nèi)存當(dāng)中的實(shí)際地址.一般通過指針位置的變化實(shí)現(xiàn)對(duì)指針?biāo)赶蚩臻g的內(nèi)容操作,示例中變量和指針內(nèi)存空間示意圖如圖1.

        圖1 變量a和指針p的內(nèi)存地址

        1.2 指針數(shù)組

        指針數(shù)組(pointers of arrays),即用于存儲(chǔ)指針的數(shù)組,也就是數(shù)組元素都是指針.若數(shù)組中的每一個(gè)元素都是指針,則該數(shù)組被稱為指針數(shù)組.譬如,若有3個(gè)元素的數(shù)組,每個(gè)元素都是指向整型變量的指針,那么其類型定義的形式為int *p[2].換句話說,就是數(shù)組p中的元素都是int型的指針.一般情況下,我們使用*p[2]的形式,但有時(shí)候也會(huì)看到*(p[i])這種表示形式,這兩者本質(zhì)是一樣.因?yàn)?,在C語言的語法定義中,多個(gè)運(yùn)算符之間是有優(yōu)先級(jí)規(guī)定的.這里的運(yùn)算符“[]”優(yōu)先級(jí)高于運(yùn)算符“*”.

        int *p[3]; //是一個(gè)指針數(shù)組,定義了3個(gè)指針,分別為p[0]、p[1]、p[2]

        int a0=1,a1=2,a2=3;

        p[0]=&a0;p[1]=&a1;p[2]=&a2;

        其內(nèi)存空間示意圖如圖2.

        圖2 指針數(shù)組在內(nèi)存中的地址

        1.3 數(shù)組指針

        數(shù)組指針(arrays of pointers),就是指向數(shù)組的一個(gè)指針.變量的定義形式:

        數(shù)據(jù)類型(*變量名)[元素個(gè)數(shù)];

        例如:int (*p);

        由于“()”優(yōu)先級(jí)高,首先說明p是一個(gè)指針,指向一個(gè)整型的一維數(shù)組,這個(gè)一維數(shù)組的長(zhǎng)度是4,也可以說是p的步長(zhǎng).也就是說執(zhí)行p+1時(shí),p要跨過4個(gè)整型數(shù)據(jù)的長(zhǎng)度[2].

        其內(nèi)存空間示意圖如圖3.

        圖3 數(shù)組指針在內(nèi)存中地址

        2 指針數(shù)組與數(shù)組指針的應(yīng)用分析

        2.1 代碼示例

        #include

        main()

        {

        int i; //申明一個(gè)變量i

        int *p[6]; //申明一個(gè)指針數(shù)組*p[6]

        int (*q)[6]; //申明一個(gè)數(shù)組指針(*q)[6]

        int s[6]={1,7,3,4,8,2}; //創(chuàng)建一個(gè)數(shù)組s[6]并賦值

        q=s; //將數(shù)組s[6]賦值給數(shù)組指針(*q)[6]

        for(i=0;i<6;i++) //創(chuàng)建一個(gè)for循環(huán),將數(shù)組s[6]循環(huán)

        *p[i]=s[i]; //賦值給指針數(shù)組*p[6]

        printf("*p[3]=%d (*q)[3]=%d s[3]=%d",*p[3],(*q)[3],s[3]);

        //輸出*p[3],(*q)[3],s[3]

        getch();

        }

        輸出:

        *p[3]=4

        (*q)[3]=4

        s[3]=4

        2.2 指向一維數(shù)組的指針變量

        定義方法:*指針變量名,即*p.

        #include

        main()

        {

        int a[5]={1,2,3,5,7};

        int *p=a, i ;

        for(i=0,i<5,i++)

        printf("%4d",p[i]);

        getch();

        }

        輸出:1 2 3 5 7

        2.3 指向二維數(shù)組的指針變量

        定義方法:(*指針變量名)[長(zhǎng)度],即(*p)[n].

        main()

        {

        Int i,j,m,n,max;

        Int a[3] [4]={1,2,3,4,5,6,7,8,9,10,11,12};

        m=0;n=0;

        max=**a;

        for(i=0;i<4;i++)

        {

        printf(" ");

        for(j=0;j<4;j++)

        {

        printf("%5d",*(*(a+i)+j));

        if(max<*(*(a+i)+j))

        {

        max=*(*(a+i)+j));

        m=i;i=j ;

        }

        }

        }

        printf(" max is :a[%2d][%2d]=%5d",m,n,max);

        getch();

        }

        輸出:

        1 2 3 4

        5 6 7 8

        9 10 11 12

        max is :a[2][3]=12

        3 結(jié)束語

        數(shù)組指針是指向數(shù)組的,而指針數(shù)組中的每一個(gè)元素都是指針.因?yàn)橹羔樀谋举|(zhì)是地址,所以,不管是哪種類型的指針,只要是類型匹配地址就可以存放.就像指針變量可以指向某個(gè)基本類型的變量一樣,也可以定義指針變量來指向數(shù)組與數(shù)組元素.數(shù)組各個(gè)元素在內(nèi)存中的存放是連續(xù)的,所以用指向數(shù)組或數(shù)組元素的指針變量來使用數(shù)組,令代碼的編寫與執(zhí)行效率更高.

        [1] 韓曉新.C語言中的指針教學(xué)[J].常州教育學(xué)院學(xué)報(bào)(綜合版),2001,15(9):21.

        [2] 宋靈香,趙靜,劉運(yùn)奇.分析指針數(shù)組與數(shù)組指針的區(qū)別和應(yīng)用[J].甘肅高師學(xué)報(bào),2012,17(2):51-52.

        Differentiate the Array of Pointers and Pointer of Arrays

        ZHANG Xiaojun, ZHANG Jing

        (DepartmentofInformationTechnology,HenanInstituteofEducation,Zhengzhou450046,China)

        In the coding process of C language, arrays of pointers and pointers of arrays are freequently used data types. The form and meaning of them are very similar. A correct understanding of these two concepts is the premise of using C language to write code. Based on examples, expounds the difference between arrays of pointers and pointers of arrays.

        pointers; array of pointers; pointer of array; address; memory

        2016-10-27

        河南省高等學(xué)校重點(diǎn)科研項(xiàng)目計(jì)劃(16A520008)

        張小軍(1980—),男,河南鄭州人,河南教育學(xué)院信息技術(shù)系副教授,主要研究方向:計(jì)算機(jī)應(yīng)用.

        10.3969/j.issn.1007-0834.2017.01.016

        TP312

        A

        1007-0834(2017)01-0068-04

        猜你喜歡
        運(yùn)算符數(shù)據(jù)類型數(shù)組
        JAVA稀疏矩陣算法
        老祖?zhèn)魇诨具\(yùn)算符
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
        尋找勾股數(shù)組的歷程
        C++運(yùn)算符重載剖析
        表達(dá)式求值及符號(hào)推導(dǎo)
        VB數(shù)組在for循環(huán)中的應(yīng)用
        考試周刊(2012年88期)2012-04-29 04:36:47
        C++中運(yùn)算符的重載應(yīng)用
        永久免费视频网站在线| 99久久99久久精品免观看| 中文字幕乱码亚洲美女精品一区| 女同一区二区三区在线观看| 亚洲欧洲国产成人综合在线| 国产乱理伦片在线观看| 国产成人精品cao在线| 国产成人精品一区二区三区av| 精品乱人伦一区二区三区| 久久久www成人免费无遮挡大片| 国产精品情侣露脸av在线播放| 日韩精品自拍一区二区| 久久午夜福利电影| 国产精品美女一区二区三区 | 产国语一级特黄aa大片| 日本特殊按摩在线观看| 边添小泬边狠狠躁视频| 欧美gv在线观看| 91在线区啪国自产网页| 一区二区三区乱码专区| 无码人妻丰满熟妇区五十路| 国产精品 视频一区 二区三区 | 国产精品成人有码在线观看| 美女露出自己的性感大胸一尤内衣| 玩弄放荡人妻少妇系列| 亚洲公开免费在线视频| 国产一级黄色片在线播放| 精品国产av一区二区三区| 波多野结衣有码| 国产麻豆一区二区三区在线播放| 77777亚洲午夜久久多喷| 青青久在线视频免费观看| 日韩激情网| 久久日韩精品一区二区| 国偷自产视频一区二区久| 欧美日韩亚洲成色二本道三区| 亚洲av极品尤物不卡在线观看| 日韩av无码一区二区三区不卡| 美女胸又www又黄的网站| 精品一区二区三区不老少妇| 国产午夜视频在线观看免费|