C語言提高班學習筆記 lesson4 符號

C語言符號

註釋

使用/*  */ 中不能嵌套

註釋在編譯過程中用空格代替


接續符

C語言的代碼無法換行,使用接續符將每一行連接起來。  

接續符  \ 

編譯器會將\剔除,跟在\ 後面的字符自動解放到前一行

\之後不能有空格 ,\的下一行之前也不能有空格


單引號,雙引號

int main()
{
char *p1 =1;
char *p2='1';
char *p3="1";
printf("%s,%s,%s",p1,p2,p3);
return 0;
}

p1指針指向的是內存地址爲1的地方,系統會將0之後靠前的區域保留,用來判斷是否是一些有效的指針(不能爲null,不能小於一定的值),1無法訪問。

p2指針指向的是內存地址爲0x32的地方,同p1指針一樣,因爲 單引號‘  '  實質還是數值

p3指針指向的字符串常量區的某塊存儲字符串"1"的空間 ,存儲的是‘1’和‘\0’,能夠訪問


char c = " "; 

while(c == " ")

不會執行 循環體裏面的內容,因爲char類型 c實質是一個數值‘ ’。 不能和地址" "進行比較。 


邏輯運算符

   && 和|| 的短路 

#include <stdio.h>
int main()
{
   int i = 0 ; j= 0;
   if(++i || ++j)
   {
        printf("i:%d j:%d",i,j);
   }
  return 0;
}
i= 1 , j=0;

三目運算符

int i= 10 , j=20 
*(i<j?&i:&j)=i>j?i:j;
printf("%d %d",i,j);
return 0;

++ -- 貪心法

編譯器會根據貪心法識別運算符

   int i =1;

    int j = ++i+++i+++i;

    會被解析爲:++i ->i++ -> +i -> i++ -> +i 

int i =1 ,j =2;

int k = i+++j;

i++ +j   

給運算符加括號能使運算結構更加清晰,避免優先級的困擾。

發佈了103 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章