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:#include編譯預處理命令與多檔案團隊開發
知識點5:陣列的幾種初始化方式如下
int a[3] = ;
int a[3] = ;
int a = ;
int a[4] = ;(知道有此種初始化方式即可)
知識點6:陣列的記憶體分析和注意點
陣列名的作用,檢視元素位址
注意陣列不要越界
知識點7:字串知識點
知識點8:字串處理函式:strlen()
例子:「哈haha」 字元數為7
知識點9:指標定義的格式
變數型別 *變數名
如 int *p
知識點10:指標作用
能夠根據乙個位址值,訪問對應的儲存空間
例:
int *p;
int a = 90;
p = &a;
*p = 10;//把10賦值給p所指的儲存空間
知識點11:指標使用注意
知識點12:指標與陣列
遍歷陣列
int ages[5] = ;
for(int i = 0; i<5; i++)
使用指標遍歷陣列:
int *p;// 指標變數p指向了陣列的首位址
p = &ages[0];// 使用指標遍歷陣列
for(int i = 0; i<5; i++)
知識點13:指標與字串
定義字串的兩種方式
利用陣列
char name = 「andyzhao」
特點:字串裡的字元可以修改
適用場合:字串內容需要經常修改
利用指標
char *name = 「itcast」
特點:字串是乙個常量,字串裡面的字元不能修改
使用場合:字串的內容不需要修改,而這個字串經常使用
知識點13:預處理指令(三種):
# define sum(v1,v2) ((v1) + (v2))//括號是必須的
例如:
#define pingfang1(a) a*a
#define pingfang2(a) (a*a)
想想,為什麼結果為不一樣呢??
pingfang1(4)/pingfang1(2)//結果為16
pingfang2(4)/pingfang2(2)//結果為4
#if 條件
...#elif 條件
...#else
...#endif(非常重要)不然後面的**全部無效
不允許迴圈包含,比如a.h包含b.h,b.h又包含a.h
知識點14: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的區別
例如:
typedef char * string
#define string char *
知識點15:static和extern區別是能否進行跨檔案訪問
函式變數
對函式的作用
外部函式:定義的函式能被本檔案和其他檔案訪問
內部函式;定義的函式只能被本檔案訪問
預設情況下,所有函式都是外部函式(相當於帶關鍵字extern),所以可以省略extern作用:
完整的定義和引用乙個外部函式都加extern
引用時也是預設是外部函式所以也省略extern
static作用:定義乙個內部函式
使用:static返回型別函式名(引數列表)
不能被其他檔案呼叫
乙個專案中,本檔案的外部函式名不能和其他檔案的外部函式同名(error)
本檔案中的內部函式(static)可以和其他檔案的函式名同名的
對變數的作用:
全域性變數分為兩種:
外部變數:定義的變數可以被其他檔案訪問
預設情況下所有的全域性變數都是外部變數
不同檔案中的同名外部變數都代表同乙個
定義乙個外部變數不加extern,宣告才加extern
同樣的宣告是沒有錯誤的
內部變數:定義的變數不能被其他檔案訪問
不同檔案的同名內部變數互不影響
C語言知識點梳理 1
include int main 這是主函式。當程式執行時main函式是起始函式,程式的起點。int為函式的返回值型別,括號中的內容為函式的引數,這裡主函式沒有引數,所以括號中沒有內容,在自定義函式中如果需要引數則需要在括號中依次定義引數的型別和引數名 如 int pow int int a,int...
C語言知識點梳理感悟
c語言知識點梳理感悟 一,知識點梳理 1.預處理 1 預處理指令 2 開頭的指令都被稱為預處理指令 3 預處理的作用 4 檢視預處理後的結果 5 include 裡加庫函式 2.資料 1 常量 2 巨集,巨集定義,巨集的使用,巨集的缺陷 3 變數,變數的型別,變數的賦值,變數的初始化,乙個 是賦值。...
C語言常用知識點
本文內容從網路上蒐集而來,有助於對c語言的理解。如下 b a b a a b b a b 如下 a a b b a b a a b sizeof是一種運算子不要想當然理解為函式 sizeof使用時可以不加 sizeof可以加變數 常量 資料型別 跟資料型別是必須加 1 include編譯預處理命令可...