《C與指標》學習筆記(一)

2021-07-02 19:18:29 字數 1029 閱讀 1931

1.  刪除一段**,沒學過程式設計的人會直接刪除;學過一點程式設計的人也許會用//注釋掉,但是碰到一大段程式時,直接在這段程式的首尾分別加上//注釋掉式,如果這段**原先就有注釋存在,就會出現問題。而c程式設計高手,一般都會用#if指令,才能使程式真正地從邏輯上刪除。

#if  0

statements

#endif

2.  如果幾個原始檔都需使用相同的函式,則應把該函式原型放在標頭檔案中並使用#include指令包含它們。

這樣可以避免由於同乙個宣告的多份拷貝而導致的維護性問題。

3.  常量:

常量即不會發生變化的量,有時候我們希望乙個變數在程式執行過程中不會發生改變,我們就可以將這個變數定義為常量。常量的初始化方法一般有兩種:

1)在宣告時對它初始化:

int  const a=15;

2)在函式宣告中為const的形參,在函式被呼叫時會得到相應實參的值。

void  rearrange(char *output,char const *input,int n_columns,int const columns);

呼叫這個函式時,input指標和columns陣列(實際上也是指標)就被相應的初始化了。

const在這裡的作用,表示函式將不會修改函式呼叫者所傳遞的這兩個引數。

下面比較一下這幾個宣告的區別:

int const *p;//p是指向整形常量的指標

int *const p;//p是指向整形的常量指標

int const *const p;//p是指向整形常量的常量指標

第乙個表示的是指標所指的位址上的內容是常量,不能被改變,而指標的值當然可以改變,它可以加一減一,指向別的位址;第二個表示的是指標所指的位址是常量,即指標所指的位址一直不變,而該位址上的內容是可以改變的,通過間接引用操作*p就可以改變內容;第三個表示的是指標所指位址和該位址上的內容均不能被改變。

C 學習筆記 函式指標與指標函式

函式指標 指向函式的指標,首先它是指標變數 同指向乙個整形變數 字元 陣列一樣 其次它指向乙個函式 位址 宣告 函式型別 指標變數名 形參列表 函式型別,指明函式的返回型別,由於 優先順序高於 所以指標變數名外的括號不能少,後面形參列表表示指標變數指向的函式所帶的引數列表。上面相當於用函式指標p,代...

C語言學習筆記 指標 指標與一維陣列

int a 10 int p null p a 其中,陣列名a代表陣列的首位址 即 a 0 那麼表示式a i代表陣列中下標為i元素a i 的位址,即 a i 還可以通過使用間接定址 來引用陣列元素。例如 a i 表示取出首位址元素後邊第i個元素的內容,即下標為i的元素a i 此外,還可以通過一維陣列...

C語言指標學習筆記一

一 指標陣列和陣列指標的區別 指標陣列 是乙個陣列,但是陣列裡儲存的資料型別是指標 陣列指標 是乙個指標,但是指標的型別是指向乙個陣列 int array 4 定義了乙個有4個int 資料型別的陣列 int p 4 定義了乙個具有4個int資料型別的陣列的指標 初始化 int array 4 int...