C語言學習記錄_2019.02.12
阿新 • • 發佈:2019-02-13
const 指向 傳遞 函數 原型 語言 c語言學習 單元 就是
- “學計算機一定要有一個非常強大的心理狀態,計算機不是黑魔法,都是人想出來的,別人能夠想的出來,那麽,總有一天,我也能夠想的出來。”
- 指針類型的變量就是保存地址的變量。
- int* p=&i;------P是一個指針,P裏面的內容為變量i的地址,即說P指向了i;
- int* p,q;------註意:*號僅僅加給了p,即語句意思為p為指針,而q為普通的整數類型;(c語言中無int* 這個類型)
- %P:指針類型格式;
- 運算符*:單目運算符,用來訪問指針的值所表示的地址上的變量;即地址+*=變量的值;此時變量的值*i可以用來做左值和右值;
- 區別:僅僅傳遞值得時候,傳遞得只是表面的參數值的大小,地址值上的變量的值並未改變;而使用*號運算符之後,則被賦予了訪問的能力,即讀和寫的能力,此時可以改變地址所在的地方上的變量的值。
- 函數參數表裏面的數組,實質為指針,即數組的地址值;
- 等價的四種函數原型:
int sum(int *ar);
int sum(int *);
int sum(int ar[]);
int sum(int []);
- 數組變量是特殊的指針,即&a[0],a可以表示地址;但是數組的單元表示的是變量,即a[0],a[1],a[2]等表示變量;
- []運算符可以對指針做,也可以對數組做;
- *運算符可以對指針做,也可以對數組做;
- int b[];--->int *const b;即數組變量不可以被賦值,數組是一個不可改變的指針;
- 例:
- int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
- int *p = &a[5];
- 則p[-2]為54;
- 即[]運算符可以對指針做;
- char是一種整數,也是一種特殊的類型:字符;
- 用單引號‘ ‘表示字符的字面量:’a‘,’1‘;即ASCLL碼表中的量值;例:’1‘==49;
- ’‘也是一個字符;
- %c用來輸入輸出字符;
C語言學習記錄_2019.02.12