摘要:
程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)―,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区 ―常量字符串就是放在这里的。 程序 阅读全文
摘要:
常用对string的操作, #include "tchar.h"定义了_UNICODE: typedef wchar_t TCHAR ; 没有定义_UNICODE: typedef char TCHAR ; 常用的宏_tcscpy_s 拷贝_tcslen 长度_tcscmp 比较_tcscat Append另一个string_stprintf write formatted data to string_stprintf_s关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L char :单字节变量类型,最多表示256个字符,wchar_t :宽字节 阅读全文
摘要:
1. 对指针使用constint a = 5;int b = 3;(1) 下面两种情况使用const都表示指针的内容是常量,不可以改变const int *pa = &a;int const *pa = &a;如果改变内容,编译器会报错。*pa = b; //编译器报错pa = &b; //改变指针,没有问题(2)下面例子表示指针是常量,但可以改变内容int * const pa = &a;*pa = b; //改变内容,正确pa = &b; //改变指针,编译器报错(3)下面例子用const使指针和指向的内容都为常量const int * const pa = &a;*pa = b; //内 阅读全文