溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中指針與數(shù)組的區(qū)別是什么

發(fā)布時(shí)間:2021-01-21 16:51:27 來源:億速云 閱讀:135 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)C語言中指針與數(shù)組的區(qū)別是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

C語言 指針與數(shù)組的詳解及對比

通俗理解數(shù)組指針和指針數(shù)組

數(shù)組指針:

eg:int( *arr)[10];

數(shù)組指針通俗理解就是這個(gè)數(shù)組作為指針,指向某一個(gè)變量。

指針數(shù)組:

eg:int*arr[10];

指針數(shù)組簡言之就是存放指針的數(shù)組;

——數(shù)組并非指針&&指針并非數(shù)組

(1)定義一個(gè)外部變量:

eg:int value=10; int *p=&value;

        舉例:當(dāng)需要在一個(gè)函數(shù)中用這個(gè)變量時(shí):externa int*p;而非extern int p[];

        分析:當(dāng)用:extern int p[];這樣的形式時(shí),其實(shí)是:由于在定義這個(gè)變量的時(shí)候,是作為一個(gè)指針而定義的,則p指向的是 value的地址,當(dāng)p當(dāng)做一個(gè)數(shù)組被引入是,它其實(shí)存放的是value的地址,而并非指向value,導(dǎo)致調(diào)用出現(xiàn)錯(cuò)誤。

(2)定義一個(gè)外部變量:

eg:int arr[10]={0};

        舉例:當(dāng)需要在函數(shù)中引入這個(gè)外部變量時(shí):extern int arr[10];而非extern int *arr;

        分析:當(dāng)用extern int *arr;這樣的方式進(jìn)行引入是,實(shí)際上這樣是不對的,在定義這個(gè)變量的時(shí)候是作為一個(gè)整形數(shù)組來定義的,但是在聲明的時(shí)候是用指針來聲明的,通過數(shù)組聲明可以訪問到整個(gè)數(shù)組,但是通過指針實(shí)際上聲明的指針并非指向數(shù)組,而是指向arr[10]數(shù)組中首元素arr[0]地址的指針,導(dǎo)致訪問出現(xiàn)問題。

——二維數(shù)組與指針的關(guān)系

       定義一個(gè)二維數(shù)組arr[3][3],由于二維數(shù)組在內(nèi)存中也是按照順序存儲(chǔ),而并非我們所認(rèn)為的按照矩陣形式存儲(chǔ)的。所以,arr[3]其實(shí)就相當(dāng)與一個(gè)數(shù)組指針;指向arr[0][0],arr[1][0],arr[2][0].

____數(shù)組與指針的其他區(qū)別

(1) 指針保存的是數(shù)據(jù)的地址;

          數(shù)組是用來保存數(shù)據(jù)的。

(2)指針訪問數(shù)據(jù)是通過數(shù)據(jù)的地址進(jìn)行解引用,間接訪問的;

         數(shù)組訪問數(shù)據(jù)是直接的。

(3)指針通常用于動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu);

         數(shù)組用于存放固定數(shù)目而且類型相同的數(shù)據(jù)。

(4)指針通常指向匿名數(shù)據(jù);

         數(shù)組通常存放已知的。

以上就是C語言中指針與數(shù)組的區(qū)別是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI