C語言指標解讀

2021-09-02 20:06:41 字數 1063 閱讀 2984

乙個變數在記憶體中所占用儲存單元的位址被稱為該變數的指標。即「指標」僅表示物件在記憶體中的位址。

計算機中,記憶體是乙個連續編號或編址的空間。

每個儲存單元都有乙個固定的編號,編號稱之為位址。

不同的資料型別占用不同位元組的儲存空間,而每個位元組都有乙個位址,一般把每個資料的首位元組位址稱為該資料的位址。

(1)指標變數的賦值

int a;

int *p = &a;

( 2 )把乙個變數的位址賦給與其具有相同資料型別的指標變數。

int ,*p;

p = &a; /把整型變數資料 a的位址賦予整型指標變數p/

(3)具有兩個相同資料型別的兩個指標變數也可以相互賦值。

int a,*pa,*pb;

pa = &a;

pb = pa;

( 4 )把陣列的首位址賦予給與其具有相同資料型別的指標變數。

int a[5],*p;

p = a; /把a的位址賦予給與其具有相同資料型別的指標變數/

也可以寫為 : p = &a[0]; /陣列的第乙個元素的位址也是整個陣列的首位址/

(5)把字串的首位址賦予字元型指標變數。

char *pc =;

pc = 「c langage」;

抑或是: char *pc = 「c langage」;

***指標變數作函式引數

c語言程式中的函式呼叫是按「值傳遞」方式傳遞。

值傳遞有兩種:資料複製,位址複製。

指標變數的值是乙個位址值,指標變數作引數就是在函式間傳遞變數的位址。

#include

swap(int *a,int *b)

main()

實參p1,p2 的值傳遞給形參 a,b。

形參a的值為&x, b的值為&y。

看另外乙個例子:

swap(int *a,int *b)

char *day_name(int n)

;if(n<1 || n>7)

return (name[0]);

else

return (name[n]);

}

解讀 C 語言中的指標

我想對很多學習c語言的新手來說,指標無疑是乙個難點。但是,我覺得指標也是c語言特別重要的乙個特性。也許,你在除了c和c 以外的程式語言中,很少看到指標。而c 中,也多用引用,而非指標。指標,作為一種高效的工具,可謂是一把雙刃劍 用得好,可以大大提高程式效率,但用的不好,就是很多bug的滋生地。一,基...

C 指標詳細解讀

一.指標舉例 int p 普通整形變數 int p int p 3 p首先與結合,說明p是乙個陣列,然後與int結合,所以p是由整形資料構成的陣列 int p 3 p首先與結合,所以p是乙個陣列,然後與結合,說明,陣列裡面元素都是指標型別,最後再與int結合。p是乙個由返回整形資料的指標所組成的陣列...

C語言 static 解讀

摘要 static 靜態 在c語言中主要用法 修飾區域性變數 修飾函式和全域性變數 一,修飾區域性變數 static修飾區域性變數時該變數是存放在被儲存在全域性儲存區里 靜態儲存區 下次呼叫的時候仍舊保持原來的值與堆疊變數不同,變數前使用static是告知編譯器,此變數僅在變數的作用範圍內有效。st...