當前位置:首頁 » 編程語言 » c語言指針變數是什麼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指針變數是什麼

發布時間: 2023-06-16 18:51:51

c語言指針基本概念及其指針變數的定義是什麼

指針是常見間接訪問方式.指針就像一個快捷方式,它指向內存的一個地址,可以通過指針就可以間接的訪問到數據。對於計算機,訪問內存的方式有兩種,直接訪問和間接訪問。直接訪問通過就是通過變數名稱去訪問。指針概念是構成C/C++的重要元素之一,是變數的一種類型,存放的是指定類型數據的地址,而同類型變數存放的是數據。

指針變數:就是一個變數,其值是可變的,與整形變數、浮點變數等等的命名規則完全相同。 「指針」是概念,「指針變數」是具體實現。指針類型說明,即定義變數為一個指針變數; 指針變數名; 變數值(指針)所指向的變數的數據類型。

(1)c語言指針變數是什麼擴展閱讀:

與其他高級編程語言相比,C 語言可以更高效地對計算機硬體進行操作,而計算機硬體的操作指令,在很大程度上依賴於地址。指針提供了對地址操作的一種方法,因此,使用指針可使得 C 語言能夠更高效地實現對計算機底層硬體的操作。另外,通過指針可以更便捷地操作數組。在一定意義上可以說,指針是 C 語言的精髓。

② C語言中「指針」和「指針變數」的區別是什麼

1、概念不同

「指針」是概念,「指針變數」是具體實現,指針也是一個變數,所以需要進行定義,而對於指針的定義,與一般變數一樣。

2、 存放地址不同

一個變數的(內存)地址稱為該變數的「指針」,通過指針能找到以它為地址的內存單元。而指針變數是用來存放另一個變數的地址的(即指針)。

(2)c語言指針變數是什麼擴展閱讀:

指針和指針變數的關系

1、指針就是地址,地址就是指針。

2、地址就是內存單元的編號。

3、指針變數就是存放內存地址的變數。

4、指針和指針變數是兩個不同的概念,但要注意的是,通常我們敘述時會把指針變數簡稱為指針,實際他們含義並不一樣。

註:

指針里存的是100. 指針:地址 - 具體。

指針里存的是地址,指針:指針變數 -可變。

指針的好處:

1、直接訪問硬體

2、快速傳遞數據(指針表示地址)

3、返回一個以上的值返回一個(數組或者結構體的指針)

4、表示復雜的數據結構(結構體)

5、方便處理字元串

6、指針有助於理解面向對象

③ C語言指針變數定義

根據你的定義,使用LinkList定義的變數是指針變數,而加上*即LinkList *C表示的是指向指針的指針,表示二級指針變數。

你的合並函數是一個沒有返回值的函數,所以你在函數體內更改C要達到更改實參的效果,你必須傳入實參的地址。

如果是一級指針,C接收實參指向的對象地址,如果此時在函數體內對C進行賦值,只是改變了函數體內C的指向,實參還是指向原來的地址。函數內是改變不了實參C本身的指向,只有傳入實參C變數本身的地址,那麼形參就要定義指向指針的變數來接收實參。

以上是一種方法,另外一種方法就是通過函數返回值,返回新合並的鏈表的頭。那函數類型就可以改為:

LinkList MergeList(LinkList a, LinkList b)。

這可以多練習好好理解一下。

④ C語言中的指針是什麼意思

其實與其你在這里問,還不如看一看c語言教科書,上面寫的都很詳細
以下是譚浩強版的
在計算機中,所有的數據都是存放在存儲器中的。一般把存儲器中的一個位元組稱為一個內存單元,不同的數據類型所佔用的內存單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些內存單元,必須為每個內存單元編上號。根據一個內存單元的編號即可准確地找到該內存單元。內存單元的編號也叫做地址。
既然根據內存單元的編號或地址就可以找到所需的內存單元,所以通常也把這個地址稱為指針。
內存單元的指針和內存單元的內容是兩個不同的概念。
可以用一個通俗的例子來說明它們之間的關系。我們到銀行去存取款時,
銀行工作人員將根據我們的帳號去找我們的存款單,
找到之後在存單上寫入存款、取款的金額。在這里,帳號就是存單的指針,
存款數是存單的內容。對於一個內存單元來說,單元的地址即為指針,其中存放的數據才是該單元的內容。在C語言中,允許用一個變數來存放指針,這種變數稱為指針變數。因此,一個指針變數的值就是某個內存單元的地址或稱為某內存單元的指針。
嚴格地說,一個指針是一個地址,是一個常量。而一個指針變數卻可以被賦予不同的指針值,是變數。但常把指針變數簡稱為指針。為了避免混淆,我們中約定:「指針」是指地址,是常量,「指針變數」是指取值為地址的變數。定義指針的目的是為了通過指針去訪問內存單元。
既然指針變數的值是一個地址,那麼這個地址不僅可以是變數的地址,也可以是其它數據結構的地址。在一個指針變數中存放一個數組或一個函數的首地址有何意義呢?
因為數組或函數都是連續存放的。通過訪問指針變數取得了數組或函數的首地址,也就找到了該數組或函數。這樣一來,凡是出現數組,函數的地方都可以用一個指針變數來表示,只要該指針變數中賦予數組或函數的首地址即可。這樣做,將會使程序的概念十分清楚,程序本身也精練,高效。在C語言中,一種數據類型或數據結構往往都佔有一組連續的內存單元。
用「地址」這個概念並不能很好地描述一種數據類型或數據結構,而「指針」雖然實際上也是一個地址,但它卻是一個數據結構的首地址,它是「指向」一個數據結構的,因而概念更為清楚,表示更為明確。
這也是引入「指針」概念的一個重要原因。

⑤ c語言中指針變數怎麼理解怎麼用

指針變數是一個變數,它保存的是另一個變數的內存地址。你如果知道了這個指針變數保存的值,就可以知道它所指向變數的內存地址,於是就可以間接訪問到那一個變數。
定義:指針變數類型 *指針變數名1, *指針變數名2, ... ;
例如:
int main(void)
{
int *p; /*定義*/
int a;
p = &a; /*把a的地址賦值到p中*/
*p = 1; /*間接訪問a*/
return 0;
}
把指針作為函數的參數傳遞,可以使函數可以訪問函數外部的變數,例如:
void swap(int *a, int *b)
{
int c;
c = *a; *a = *b, *b = c;
}
指針也可以用於傳遞數組,數組名本身就是一個指針:
void func(int a[], int n)
{ ..... }
指針還可以指向指針,指向結構體(struct),指向數組
int **p; /*指向int指針*/
struct XXX *p;
int (*p)[100]; /*指向一個int[100]數組,括弧不可少*/

⑥ C語言中指針是什麼

我們都知道:C語言中的數組是指 一類 類型,數組具體區分為 int 類型數組,double類型數組,char數組 等等。同樣指針 這個概念也泛指 一類
數據類型,int指針類型,double指針類型,char指針類型等等。

通常,我們用int類型保存一些整型的數據,如 int num = 97 , 我們也會用char來存儲字元: char ch = 'a'。

我們也必須知道:任何程序數據載入內存後,在內存都有他們的地址,這就是指針。而為了保存一個數據在內存中的地址,我們就需要指針變數。

因此:指針是程序數據在內存中的地址,而指針變數是用來保存這些地址的變數。

⑦ c語言中變數的指針,其含義是指變數的什麼

指針變數是有加減運算的,但是要注意以下幾點:
1.指針變數中存放的是地址值,也就是一個數字地址,例如某指針變數中的值是0x20000000,表示表示此指針變數存放的是內存中位於0x20000000地方的內存地址。指針變數可以加減,但是只能與整型數據加減,此時加減的含義並不是其地址值進行了加減,也就是說如果指針變數p的值是0x20000000,那麼p=p+2;的值並不是0x20000002,並不是地址值的簡單相加,那麼地址值加減多少是與指針指向的數據類型相關聯的,如果在32位的操作系統上,p是指向整型數據的指針變數,那麼p=p+2之後,p的地址值變成0x20000008,也就說實際上地址值加了多少呢:sizeof(int)*2這么多。說明白點,我們加減的數字是以指針指向的數據類型為量度的,p+2表示p在內存中前移兩個int的距離,如果p不是int類型,而是其他類型道理也是一樣。同樣指針與整型數據相減也是同樣的道理。
2.指針之間可以相減,但不可以相加:兩個同一類型的指針變數是可以相減的,他們的意義表示兩個指針指向的內存位置之間相隔多少個元素(注意是元素,並不是位元組數),例如對於int類型的指針p和p1.p1-p的意義表示他們之間相隔多少個int類型的元素。同樣對於其他類型的指針變數之間相減的意義也是一樣。指針變數的自加和自減實際上是與整數1的加減運算。
3.指針之間可以比較大小。但是同樣也限於兩個相同類型的指針變數,不同類型的指針變數之間比較大小沒有任何意義。指針之間的大小比較的意義,表示在內存中他們指向的位置的高低關系。

⑧ C語言指針變數

假設a
是一個抽屜,裡面只能放一個整數,(就是所謂的int
,這個不重要),當這個抽屜存在的時候,它就已經有一個編號了(就是地址),這個號是系統編的,不能更改。而p
是另一個抽屜,裡面只能放編號,p=&a,就是把a的編號放到p
這個抽屜里,現在如果你知道了p
里放的編號,你就可以按照這個編號找到這個對應的抽屜。這就對應上了,不知道你能看明白不?
a
就是10
,這里的10
就是a
,它倆是同一個東西,當然放在同一個地方,這個地方的序號比如1000,這個序號保存在p
里。
a

10在這里就是一碼事,它倆指的是同一個東西,比如一隻白狗叫a,這個a
就是指這只白狗,a和這只白狗此時就是一回事,同一個東西在某一時刻還能在倆地方嗎?