C/C++程序缺陷与优化
lonely_gfolf
这个作者很懒,什么都没留下…
展开
-
使用已释放的内存
#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;char *getmemory(void){ char p[] = "hello world"; return p;}int main(){ char *str = NU...原创 2018-05-11 21:20:11 · 1155 阅读 · 1 评论 -
scanf()函数使用隐患
#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;int main(){ char a[5]; scanf("%s", a); printf("a = %s", a); return 0;}字符串a的长度是5,输入...原创 2018-05-12 20:49:17 · 288 阅读 · 0 评论 -
联合体使用
Union类型的变量中,允许装入该union所定义的任何一种数据,所以union变量的长度等于各成员中最长的长度。对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。 在任何同一时刻,联合体只存放了一个变量,而结构的所有成员都在。要注意以下两种情况。(1)由于联合体内的成员共享内存,而静态数据成员或引用成员均不能共享内存,所以不能用这...原创 2018-05-15 20:15:59 · 691 阅读 · 0 评论