C语言基础知识梳理

准备开一个博客专栏,关于Cocos2d-x游戏开发的。因为Cocos2d-x是C++编写的,所以也打算使用C++来讲。

这里先写一点关于C的基础知识,便于大家梳理和复习,接下来会整理一下C++的知识点给大家。

 

一 数据类型

1 基本类型

   1.1 数值类型

         a 整型(短整型short,整型int,长整型long)

         b 浮点型(单精度float,双精度double)

   1.2 字符类型char

2 构造类型

   2.1 数组

   2.2 结构体struct

   2.3 共用体union

   2.4 枚举类型enum

3 指针类型

4 空类型void

 

二 命名规范

个人推荐“匈牙利命名法”(也有人不推荐使用)


附录:MFC、句柄、控件及结构的命名规范

 

Windows类型 样本变量 MFC类 样本变量
HWND hWnd; CWnd* pWnd;
HDLG hDlg; CDialog* pDlg;
HDC hDC; CDC* pDC;
HGDIOBJ hGdiObj; CGdiObject* pGdiObj;
HPEN hPen; CPen* pPen;
HBRUSH hBrush; CBrush* pBrush;
HFONT  hFont;  CFont* pFont;
HBITMAP  hBitmap; CBitmap* pBitmap;
HPALETTE  hPaltte; CPalette* pPalette;
HRGN  hRgn; CRgn* pRgn;
HMENU  hMenu; CMenu* pMenu;
HWND  hCtl; CState*  pState;
HWND  hCtl; CButton* pButton;
HWND  hCtl; CEdit* pEdit;
HWND  hCtl; CListBox* pListBox;
HWND  hCtl; CComboBox* pComboBox;
HWND  hCtl; CScrollBar* pScrollBar;
HSZ  hszStr; CString  pStr;
POINT  pt; CPoint  pt;
SIZE  size; CSize  size;
RECT  rect; CRect  rect;

一般前缀命名规范 

 

 

前缀 类型 实例
C 类或结构 CDocument,CPrintInfo
S 结构体 SAddress
m_ 成员变量 m_pDoc,m_nCustomers

变量命名规范

 

 

前缀 类型 描述 实例
c char 8位字符 cGrade
str string 字符型 strName
ch  TCHAR 如果_UNICODE定义,则为16位字符 chName
b BOOL 布尔值 bEnable
n ,i int 整型(其大小依赖于操作系统) nLength
si short int 短整型 siSequ
UINT  无符号值(其大小依赖于操作系统) nHeight
WORD  16位无符号值 wPos
f float 浮点型 fRadius
d double 双精度型 dArea
LONG  长整型 lOffset
ld long double  长双精度型 ldRate
dw  DWORD  32位无符号整型  dwRange
指针 pDoc
lp  FAR*  远指针  lpszName
lpsz  LPSTR  32位字符串指针 lpszName
lpsz  LPCSTR  32位常量字符串指针 lpszName
lpsz  LPCTSTR  如果_UNICODE定义,则为32位常量字符串指针  lpszName
handle  Windows对象句柄 hWnd
lpfn  callback 指向CALLBACK函数的远指针  ?
if   输入文件流 ifDataFile
of   输出文件流 ofStuFile
sz   以"\0"结束的字符串 szAppName 

 

三 程序结构

1 顺序结构

2 分支结构(if-else if-else,switch)

3 循环结构(for,do-while,while-do)

 

四 内存空间

1 为初始化数据段(BSS段):存放为初始化的全局变量。

2 数据段(data segment):存放程序中已初始化的全局变量。

3 代码段(code segment):存放执行代码和只读常量。

4 堆(heap):存放进程运行中被动态分配的内存。(malloc/free)

5 栈(stack):存放程序临时创建的局部变量和函数参数。(不包括static变量,static变量存放与数据段)

 

五 预处理

1 宏定义(#define)

2 文件包含(#include)

3 条件编译(#ifdef/#ifndef-#else-#endif)

 

六 文件操作

你可能感兴趣的:(C/C++)