亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    指針數(shù)組和數(shù)組指針的區(qū)別是什么

    區(qū)別:對(duì)指針數(shù)組來說,首先它是一個(gè)數(shù)組,數(shù)組的元素都是指針,也就是說該數(shù)組存儲(chǔ)的是指針,數(shù)組占多少個(gè)字節(jié)由數(shù)組本身決定;而對(duì)數(shù)組指針來說,首先它是一個(gè)指針,它指向一個(gè)數(shù)組,也就是說它是指向數(shù)組的指針,在 32 位系統(tǒng)下永遠(yuǎn)占 4 字節(jié),至于它指向的數(shù)組占多少字節(jié),這個(gè)不能夠確定,要看具體情況。

    指針數(shù)組和數(shù)組指針的區(qū)別是什么

    本教程操作環(huán)境:windows7系統(tǒng)、c99版本、Dell G3電腦。

    一、數(shù)組指針和指針數(shù)組的定義

    1.指針數(shù)組:定義 int *p[n];

    指針數(shù)組可以說成是”指針的數(shù)組”,由于*p沒有括號(hào),首先這個(gè)變量是一個(gè)數(shù)組,其次,”指針p”修飾這個(gè)數(shù)組,意思是說這個(gè)數(shù)組的所有元素都是指針類型,而指針?biāo)嫉淖止?jié)數(shù)和其類型無關(guān),只與系統(tǒng)有關(guān),在32位系統(tǒng)下,任何類型的指針占據(jù)4個(gè)字節(jié),在64位系統(tǒng)下,任何類型的指針占據(jù)8個(gè)字節(jié)。

    2.數(shù)組指針:定義 int (*p)[n];

    由于()的優(yōu)先級(jí)高,首先說明p是一個(gè)int類型指針,它是指向一個(gè)整型(int)的一維數(shù)組,這個(gè)一維數(shù)組的長(zhǎng)度是n,也可以說是總共有n個(gè)格子。數(shù)組指針也稱指向一維數(shù)組的指針,亦稱行指針。

    數(shù)組指針也可以稱為“數(shù)組的指針”,首先這個(gè)變量是一個(gè)指針,其次,”數(shù)組”修飾這個(gè)指針,意思是說這個(gè)指針存放著一個(gè)數(shù)組的首地址,或者說這個(gè)指針指向一個(gè)數(shù)組的首地址。

    指針數(shù)組和數(shù)組指針的區(qū)別是什么

    二、數(shù)組指針和指針數(shù)組的使用

    1.數(shù)組指針

    首先定義一個(gè)數(shù)組指針,既然是數(shù)組的指針,說明是用指針p去指向一個(gè)一維數(shù)組,即:

    int (*p)[[4]];  //這里定義int類型,p是一個(gè)指針,指向一維數(shù)組的首地址,這個(gè)一維數(shù)組大小為4
    登錄后復(fù)制

    也就是說,int類型的指針p指向int [[4]]的數(shù)組,而數(shù)組的每一個(gè)元素是一個(gè)int類型的變量。

    數(shù)組指針本質(zhì)是一個(gè)指針,而指針的作用就是用來指向變量的地址,所以數(shù)組指針一般可以這樣使用(示例):

    void fun(int (*P)[4]); //子函數(shù)中的形參,數(shù)組指針   a[3][4] = {0}; //主函數(shù)中定義的二維數(shù)組 fun(a); //主函數(shù)調(diào)用子函數(shù)的實(shí)參,是二維數(shù)組的首元素首地址
    登錄后復(fù)制

    2.指針數(shù)組

    對(duì)于指針數(shù)組,也就是“指針的數(shù)組”,說明這個(gè)數(shù)組的所有元素都是指針類型。不妨定義指針p,例如:

    int *p[[4]];  //這里數(shù)組長(zhǎng)度為4,所有元素均為int類型的指針
    登錄后復(fù)制

    代碼如下(示例):

    void Fun(char** str);    //子函數(shù)中的形參,指針數(shù)組  int main() { 	int arr[3][4]; 	char* str = "abc"; 	char** q = &str; }
    登錄后復(fù)制

    指針數(shù)組和數(shù)組指針參數(shù)傳遞問題

    傳遞的參數(shù) 匹配需要的形參
    int *p[4] int **p(指針數(shù)組或者二級(jí)指針)
    int (*p)[4] int (*p)[4](不變)
    int [3][4] int (*p)[4](數(shù)組指針)
    int **p int **p(不變)

    三、實(shí)際使用的例子

    例子:使用指針數(shù)組打印出:“sun wu kong”

    指針數(shù)組和數(shù)組指針的區(qū)別是什么

    // 代碼塊  打印“sun wu kong” char str1[] = { 's', 'u', 'n' , '