c語言初學 初涉指標

2021-06-04 13:29:12 字數 1862 閱讀 1664

指標:

指標是乙個 4 bytes integers,儲存的是記憶體位址,

1.定義: 

型別 * 變數名:

2.使用const宣告指標變數

1).指向const的指標變數

int const *p; 等效於 const int *p;

該類指標變數指向的記憶體空間的內容是不可變的。

eg.  const int a = 1;

const int * p = &a;

a的值是不可以改變的

2).const型指標變數

int * const p;

指向的記憶體空間是固定的,初始化後不能將其指向其他空間,就是說p 不可以再等於其它的位址。

3).指向const的const指標變數

const int * const p;

該指標變數的值和該指標指向的空間的值都是不可以改變的。

3.

int a;

int *p;

p = &a;

這樣是正確的,a的值是無效值,但是系統給它分配了記憶體空間了,位址是有效的。只有系統**的和自己定義的是無效的。

eg:把a和b值進行交換:

通常的方法:進行傳值操作,這樣是不能實現交換

#include #includevoid swap(int,int);

int main()

void swap(int a,int b)

#include #includevoid exchange(int *,int *);//宣告

int main()

void exchange(int *x,int *y)

5.指標型函式值

函式的函式返回值也可以是指標型的資料,即位址。

資料型別 * 函式名(形參列表);

eg:

#include int * max(int * ,int *);//宣告

int main()

int * max(int * a,int *b)else

return p;

}

注意:錯亂時空:

float *mistake()

temp 只有在mistake這個方法塊裡面有效,當存在返回語句的時候,意味著在外界可能會使用也可能不會使用,所以會出現:有時候會出錯誤,有時候不會出錯。。錯亂

6.函式型指標

指向函式的指標,可以表示出函式的位址

有這樣乙個函式宣告:

int add(const int a,const int b);

使用該函式型別來定義乙個函式型指標:

int (*fq)(const int a ,const int b);

就是相當於把存有函式的位址的函式變數func賦給了fq這個

指標:fq = add;

注意:(*fq)  這個小括號千萬不能省略

呼叫的兩種方法:fq(3,3); 或  (*fq)(3,3)

eg:

#includeint add(const int a,const int b)

int main()

7.void型指標

可以指向儲存任意資料型別的空間,也就是它包含了所有的

型別,常作為形參出現,它可以指向任意型別的指標變數;也

可以作為函式的函式值。

定義形式:void * 變數名;

8.指標的呼叫:(一二**指標的使用)

#include #includeint main()

菜鳥之C語言初涉 初學程式設計之總結系列

你生而有翼,為何竟願一生匍匐前進,形如蟲蟻?每年都會有很多的少男少女從高考的煉獄解放出來,但迎面而來的不是快樂,不是重擔卸下的松一口氣,而是無盡的狂歡狂歡遮蓋的迷茫。三年的努力,只是換來兩個月的時間決定了自己接下來人生的方向,無力不能幫你解決,絕望殺不死希望。所以為什麼不來程式設計呢?好吧,瞎扯了這...

C學習之語言初涉 1 指標篇

指標的概念 在計算機儲存中,所有的資料都儲存在儲存器中,所謂的1位元組也被稱作乙個記憶體單元.不同的資料型別在儲存器中所占用的記憶體單元是不同的.整形變數 如 int佔2個單元 字元變數 如 char佔1個單元 為了準確的訪問到每個記憶體單元,獲取記憶體單元中儲存內容,計算機將每個記憶體單元都分配了...

C 語言開發初涉 01 簡單學習

嘗試用c語言寫windows程式 簡單的計算器 1.0版,僅用來熟悉c 開發windows的一些語法和語句用法 1 include stdafx.h 2 include 3 include 4 include 5 include 6 include 7 include resource.h 8 in...