摘要: 1.局部变量的特点:随函数调用时创建,随函数结束时析构(销毁)。 2.如果函数内部有用运算符new 申请的堆空间,是可以返回的。 3.函数不能通过返回指向栈内存的指针。 4.永远不要从函数中返回局部自动变量的地址,否则获取的地址的内容可能是乱码。 5.解决方法:可以在函数的参数表中传入一个指针变量, 阅读全文
posted @ 2017-03-30 11:01 点点_滴滴 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 1.malloc / free 这个是C++/C 的标准库函数 char* p=(char*)malloc(sizeof(char)*num); 2.new / delete 这个是C++的运算符 char* p=new char[20]; 阅读全文
posted @ 2017-03-30 10:51 点点_滴滴 阅读(119) 评论(0) 推荐(0) 编辑
摘要: CString str="这是一个测试"; char* str_0=str.GetBuffer(0); 阅读全文
posted @ 2017-03-30 10:44 点点_滴滴 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 出现如图的原因,是因为一些C库的函数很多都不进行参数检测,微软担心这些会造成内存溢出,所以改写了同功能的函数。 例如: mkdir改写为 _mkdir fopen”改写为 fopen_s stricmp改写为 stricmp_sstrcpy改写为strcpy_s 阅读全文
posted @ 2017-03-30 10:41 点点_滴滴 阅读(365) 评论(0) 推荐(0) 编辑
摘要: strcpy_s和strcpy()函数的功能几乎是一样的。 strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。 strcpy_s 一般使用三个参 阅读全文
posted @ 2017-03-30 10:35 点点_滴滴 阅读(42636) 评论(0) 推荐(2) 编辑