c語言複習 指標

2021-09-02 05:02:26 字數 1124 閱讀 4139

注:本文是對蘇小紅版c語言教材第9章的筆記

*:間接定址運算子/解引用運算子

e.g.:

int *pa = &a;//*用於指標變數的定義

int a = 0;

printf("a is %d, &a is %p, pa is %p, *pa is %d", a, &a, pa, *pa);//*用於讀取指標變數儲存的位址對應的變數的值

輸出結果:a與pa相同, &a與pa相同

pa的值和a是等價的,修改了pa的值就相當於修改a的值。可以像使用普通變數一樣使用pa

永遠不要使用未初始化的指標變數

在函式中改變實參的值:指標

需要從函式返回多個值時,就要用到模擬按引用呼叫的方法。

函式的出口引數:變數的值在函式結束呼叫後才能被確定

函式的入口引數:變數的值在函式呼叫前就必須確定

函式指標:

e.g.:int (*compare)(int a, int b);//是乙個指向函式 int compare(int a, int b)的函式指標

int *compare(int a, int b);//是乙個返回值為int *, 且有2個整型引數的函式

可以把函式指標當成函式名直接使用:

if ((*compare)(a[i], a[k]))
if(compare(a[i], a[k]))等價

其中compare指向的是返回值為a < b 或a > b的函式

e.g.:選擇函式計算函式值

#include int func(int (*f)(int x), int x);

int f1(int x);

int f2(int x);

int main()else result = func(f2, x);

printf("the result is %d", result);

return 0;

}int f1(int x)

int f2(int x)

int func(int (*f)(int x), int x)

C語言複習 指標

程式設計練習 1.用指標實現報數問題 用指標的方法解決3人報數問題 include int main i k m 0 i是陣列計數,k是迴圈3次計數,m是退出的人計數 while m n 1 n是總人數,退出的人數要比總人數少乙個人結束迴圈 if k 3 i if i n 如果i到了成員最後,返回最...

C語言複習 指標

1.什麼是指標 我們把位址形象化的稱為 指標 意思是通過他可以找到以他為位址的記憶體單元。指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別 指標所指向的型別 指標的值或者叫指標所指向的記憶體區 指標本身所佔據的記憶體區。讓我們分...

C語言複習 指標

一 指標是什麼 1.由於通過位址可以找到所需的變數單元,即位址指向變數單元,則可將位址形象化地稱為 指標 二 怎樣定義指標變數 1.定義指標變數的一般形式 型別名 指標變數名 例如 int a,int pointer 1,float pointer 2,char pointer 3。2.在定義指標標...