1. 程式人生 > >C語言學習記錄_2019.02.12

C語言學習記錄_2019.02.12

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;即數組變量不可以被賦值,數組是一個不可改變的指針;
  • 例:
    1. int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
    2. int *p = &a[5];
    3. 則p[-2]為54;
    4. 即[]運算符可以對指針做;
  • char是一種整數,也是一種特殊的類型:字符;
  • 用單引號‘ ‘表示字符的字面量:’a‘,’1‘;即ASCLL碼表中的量值;例:’1‘==49;
  • ’‘也是一個字符;
  • %c用來輸入輸出字符;

C語言學習記錄_2019.02.12