普通演算法題不太涉及的C 知識點 一

2021-10-05 20:23:47 字數 1623 閱讀 2971

5. 指標所佔記憶體空間:

6. 空指標:

7. 野指標:

8. const修飾指標:

9. 函式形參優化:位址傳遞

不能和關鍵字重名;

只能由字母,數字,下劃線組成;

第乙個字元必須是字母或下劃線;

字母區分大小寫。

可以統計資料型別所佔記憶體大小。

sizeof

(資料型別/變數名)

;

語法:表示式1?表示式2:表示式3;

如果表示式1為真,則執行2並返回2的值,否則執行3並返回3的值。

檔名:swap.h

檔名:swap.cpp

#include

using

namespace std;

void

swap

(int a,

int b)

;

#include

"swap.h"

void

swap

(int a,

int b)

intmain()

32位系統下佔4個位元組。

64位系統下佔8個位元組。

空指標指向的記憶體是不允許訪問的。

int

*p =

null

;cout <<

*p << endl;

//會報錯;

指標變數指向的是非法的記憶體空間。

int

*p =

(int*)

0x1100

;cout <<

*p << endl;

//會引發異常;

指標的指向可以修改,但是指標指向的值不可以更改。

int a =10;

int b =20;

const

int*p =

&a;*p =20;

//錯誤;

p =&b;

//正確;

指標的指向不可以修改,但是指標指向的值可以更改。

int a =10;

int b =20;

int*

const p =

&a;*p =20;

//正確;

p =&b;

//錯誤;

指標指向和指標值都不可以更改。

int a =10;

int b =20;

const

int*

const p =

&a;*p =20;

//錯誤;

p =&b;

//錯誤;

struct student

void

func

(student s)

void

func

(student *s)

void

func

(const student *s)

C 中不太注意的一些小知識點

1 模板類的容器map使用時需要注意 當用下標操作符來查詢某個key值是否存在於map中時,若所查詢的元素不在map中,查詢結束後會在map中插入所查詢的key值,此key值對應的value值被初始化成value所屬型別的預設值。如下例 mapstr count str count aaa 2 st...

前端開發涉及的知識點

html css 對web標準的理解 瀏覽器核心差異 相容性 hack css基本功 布局 盒子模型 選擇器的優先順序 html5 css3 flexbox 資料型別 運算 物件 function 繼承 閉包 作用域 原型鏈 事件 regexp json ajax dom bom 記憶體洩露 跨域 ...

SDWebImage 涉及知識點位移列舉的操作解析

凡是涉及列舉傳值時,不了解的就直接傳入0 因為列舉有個約定,傳入值若為0則不進行任何有關操作。如果要傳遞多個值則多個列舉值之間用或 連線 作為引數傳遞即可 新建工程,如下 viewcontroller.m 位移列舉詳解 import viewcontroller.h typedef enum cza...