亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

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

時間:2024-10-09 21:11:15 C語言 我要投稿
  • 相關(guān)推薦

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

  通俗理解數(shù)組指針和指針數(shù)組,C語言中指針與數(shù)組有什么區(qū)別呢?應(yīng)該怎么去區(qū)分?下面是小編為大家整理的C語言中指針與數(shù)組的區(qū)別,歡迎參考~

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

  數(shù)組指針:

  eg:int( *arr)[10];

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

  指針數(shù)組:

  eg:int*arr[10];

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

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

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

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

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

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

 。2)定義一個外部變量:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  C語言簡介

  C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向?qū)ο缶幊陶Z言有所不同。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、僅產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易于調(diào)試、修改和移植,而代碼質(zhì)量與匯編語言相當(dāng)。C語言一般只比匯編語言代碼生成的目標(biāo)程序效率低10%-20%。因此,C語言可以編寫系統(tǒng)軟件。

  當(dāng)前階段,在編程領(lǐng)域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優(yōu)點,相較于其它編程語言具有較大優(yōu)勢。計算機系統(tǒng)設(shè)計以及應(yīng)用程序編寫是C語言應(yīng)用的兩大領(lǐng)域。同時,C語言的普適較強,在許多計算機操作系統(tǒng)中都能夠得到適用,且效率顯著。

  C語言擁有經(jīng)過了漫長發(fā)展歷史的完整的理論體系,在編程語言中具有舉足輕重的地位。

【C語言中指針與數(shù)組的區(qū)別】相關(guān)文章:

C語言指針和數(shù)組基礎(chǔ)知識10-26

c語言指針運用中堆和棧的區(qū)別10-06

什么是C語言數(shù)組10-03

C語言學(xué)習(xí)中的指針用法教程08-25

如何理解C語言指針05-19

C語言數(shù)組實例解析10-21

C語言數(shù)組是什么08-25

C語言中指針的概念03-16

C語言指針知識點10-10

C語言中的指針是什么08-08