本文主要簡單介紹各種操作符、關鍵字、宏、指針和結構體的定義和使用。
操作符 單目操作符操作符 | 作用 | 使用方法 |
---|---|---|
! | 邏輯反操作 | 例如:!flag 如果flag為真,則 !flag 為假 |
sizeof | 操作數(shù)的類型長度(以字節(jié)為單位) | 例如:int a = 1; sizeof(a)=4 |
++ | 前置、后置++ | 例如:a = 10;當b = a++; a = 11,b = 10;當b = ++a; a = 11,b = 11 |
- - | 前置、后置- - | 方法同++ |
exp1?exp2:exp3
#define ADD(x,y) ((x)+(y))
#includeint main()
{int sum = 10*ADD(2, 3);
printf("sum = %d\n", sum);
return 0;
}
結果為sum = 50,注意當((x)+(y))改為x+y,結果為23,與預期的結果不符,因此括號不可省略。
指針在講指針前我首先需要了解內存。一塊空間可以劃分為很多個內存單元。
每一個內存單元為一個字節(jié)。
每一個內存單元都需要編號,,通過這些編號計算機可以找到對應的內存單元,這些編號叫做地址,也叫指針,所以指針就是地址。
我們知道 int 存放空間是4個字節(jié)即4個內存單元。我們假設 int a = 10;那a的地址是哪一個字節(jié)呢?實際在a的地址是4個字節(jié)中的第一個字節(jié)。
#includeint main()
{int a = 10;
int* pa = &a;
*pa = 20;
printf("%d", a);
}
我們用pa來存放指針,pa稱為指針變量,其類型是int* 類型;通過使用 * 解引用操作符訪問pa 修改a的值,因此上述結果a最終輸出20。
指針變量的大小對于一個復雜對象無法簡單用單個數(shù)據(jù)類型進行描述,因此C語言引入結構體概念。
結構體的使用#includestruct Book//定義結構體
{char name[20];//書名用char類型
int price;//價格
};
int main()
{struct Book b1 = {"算法與數(shù)據(jù)結構",60 };
//結構體變量.結構體成員名
printf("書名:《%s》 定價:%d 元\n", b1.name, b1.price);
}
指針運用結構體由于我們已經(jīng)學過指針,我們不妨運用于一下指針。
#includestruct Book//定義結構體
{char name[20];//書名用char類型
int price;//價格
};
void print(struct Book* pa)
{printf("書名:《%s》 定價:%d 元\n", (*pa).name, (*pa).price);
//printf("書名:《%s》 定價:%d 元\n", pa->name, pa->price);效果一樣
}
int main()
{struct Book b1 = {"算法與數(shù)據(jù)結構",60 };
print(&b1);
}
總結本文旨在回顧C語言的一些簡單概念,雖然簡單但是整理內容也花費我不少時間,希望對大家有所幫助!
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧