C語言常用知識點

2021-07-09 03:03:37 字數 3473 閱讀 2553

本文內容從網路上蒐集而來,有助於對c語言的理解。

**如下:

b = a - b;

a = a - b;

b = a + b;

**如下:

a = a^b;

b = a^b;

a = a^b;

sizeof是一種運算子不要想當然理解為函式

sizeof使用時可以不加()

sizeof可以加變數、常量、資料型別

跟資料型別是必須加()

1 include編譯預處理命令可以認為是:將後面的檔案內容拷貝到當前的檔案中;

int a[3] = ;

int a[3] = ;

int a = ;

int a[4] = ;

儲存空間的劃分(記憶體的分配是從高位址到低位址進行的,但乙個陣列內部元素又是從低到高進行的);

陣列名的作用,檢視元素位址;

注意陣列不要越界。

「123」其實是由』1』、』2』、』3』、』\0』組成

字串的輸出」%s」,』\0』是不會輸出的

變數型別 *變數名

如int *p

int *p;

int a = 90;

p = &a;

*p = 10;//把10賦值給p所指的儲存空間

int *p只能指向int型別的資料

指標變數只能儲存位址

指標變數未經初始化不要拿來間接訪問其他儲存空間

int ages[5] = ;

for(int i = 0; i<5; i++)

int

*p;p = &ages[0]; // 指標變數p指向了陣列的首位址

for(int i = 0; i<5; i++) // 使用指標遍歷陣列

注:指標+ 1取決於指標的型別

注:陣列的訪問方式

陣列名[下標]

指標變數名[下標]

*(p + i)

定義字串的兩種方式

利用陣列

char name =「andyzhao」
特點:字串裡的字元可以修改

適用場合:字串內容需要經常修改

利用指標

char *name =「itcast」
特點:字串是乙個常量,字串裡面的字元不能修改

使用場合:字串的內容不需要修改,而這個字串經常使用

巨集定義

條件編譯

檔案包含

#define  

...#undef

帶引數的巨集

#define

sum(v1,v2) ((v1) + (v2))//括號是必須的

例如:

#define pingfang(a) a*a  

#define pingfang(a) (a*a)

呼叫時

pingfang(10)/pingfang(2)//不正確  

pingfang(5+5)//不正確

帶引數的巨集效率比函式高

#if 條件  

...#elif 條件

...#else

...#endif(非常重要)不然後面的**全部無效

<>表示系統自帶的檔案,」「表示自定義檔案

不允許迴圈包含,比如a.h包含b.h,b.h又包含a.h

typedef只是給型別起了個別名並不是定義新型別

struct student;  

typedef

struct student student;

等價於

typedef

struct studentstudent;

也等價於

typedef

struct student;

類似的給列舉型別起名

typedef enum

***

***;

//下面是函式指標型別的自定義資料型別,返回值型別和引數型別要匹配

#include 

typedef

int (*typefuncpointer)(int, int);

int add(int a, intb)

int minus(int a, intb)

int main()

下面是定義結構體的指標型別

typedef

struct student*ptrstu;

//使用方式

student stu =;

ptrstu p = &stu;

巨集定義也是可以為型別起名的

#define integer int  

相當於typedef int integer

例如:

typedef char * string

#define string2char *

static和 extern區別是能否進行跨檔案訪問

①.函式

②.變數

外部函式:定義的函式能被本檔案和其他檔案訪問

內部函式;定義的函式只能被本檔案訪問

預設情況下,所有函式都是外部函式(相當於帶關鍵字extern),所以可以省略extern作用:

完整的定義和引用乙個外部函式都加extern

引用時也是預設是外部函式所以也省略extern

static作用:定義乙個內部函式

使用:static返回型別函式名(引數列表)

不能被其他檔案呼叫

乙個專案中,本檔案的外部函式名不能和其他檔案的外部函式同名(error)

本檔案中的內部函式(static)可以和其他檔案的函式名同名的

全域性變數分為兩種:

外部變數:定義的變數可以被其他檔案訪問

①.預設情況下所有的全域性變數都是外部變數

②.不同檔案中的同名外部變數都代表同乙個

③.定義乙個外部變數不加extern,宣告才加extern

同樣的宣告是沒有錯誤的

內部變數:定義的變數不能被其他檔案訪問

不同檔案的同名內部變數互不影響

c語言常用知識點梳理

c語言常用知識點 知識點1 交換兩個變數值的方法 如下 b a b a a b b a b 採用按位異或的位方式 如下 a a b b a b a a b 知識點2 p 3 與 p 3 的區別 因為的優先順序高於 所以結合順序不一樣,所表示的含義也不一樣。知識點3 sizeof的使用 知識點4 in...

C 常用知識點

excel資料分析與視覺化codeblocks開啟專案,需要open cbp檔案,才能將整個專案匯入,不能開啟main.cpp檔案 利用 notepad 解決中文亂碼。gb2312 ansi windows926 untf 8 codeblock 調整字型大小 ctrl 滑鼠滾輪 mac系統下檔案編...

C 常用知識點

1.按有效位輸出是 setprecision,按小數字數輸出也是setprecision,但到底是誰取決於fixed。cout resetiosflags ios fixed setprecision n float point number 是按n位有效數輸出 cout setiosflags i...