C
文章平均质量分 83
一步两步先生
这个作者很懒,什么都没留下…
展开
-
C语言野指针产生的原因及解决方法
C语言野指针产生的原因及解决方法 情况一 原因 指针变量声明时没有被初始化。 解决办法 指针声明时初始化,可以是具体的地址值,也可让它指向NULL。 情况二 原因 指针 p 被 free 或者 delete 之后,没有置为 NULL。 解决办法 指针指向的内存空间被释放后指针应该指向NULL。 情况三 原因 指针操作超越了变量的作用范围。 解决办法 在变量的作用域结束前释放掉变量的地址...原创 2018-11-09 10:58:58 · 1334 阅读 · 0 评论 -
关于c/c++互调的事情
c/c++互调无外乎c++文件里调用c的函数或者c文件调用c++的函数,涉及的原理也很简单,函数symbol,众所周知,c++支持重载,所以在我们看到的cpp源文件的函数,在编译后,不是看到函数名,c++编译后的函数symbol会携带更多信息,包括返回值、参数类型。c/c++互调出现问题在于编译后的链接阶段,一个个.c,.cpp文件经过编译后,生成“可重定为目标文件”,在该目标文件中调用的所有外部...转载 2018-11-20 13:27:59 · 510 阅读 · 0 评论 -
练习10-----翻转单词顺序 和 左旋转字符串
翻转单词顺序 第一步翻转句子中所有的字符。如翻转"I am a student.“中的所有字符得到”.tneduts a ma I",此时不但翻转了句子中单词的顺序,连单词内的字符顺序也被翻转。 第二步再翻转每个单词中的字符的顺序,就得到了"student. a am I"。 关键在于实现一个函数以翻转字符串中的一段。下面Reserve可以完成这一功能: void Reserve(char *pB...原创 2018-12-06 22:51:48 · 133 阅读 · 0 评论 -
static在C/C++中的区别和用法
static主要有三个作用: (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 前两种C和C++都有,第三种仅在C++中有,下面分别作以下介绍: 一、局部静态变量 在C/C++中, 局部变量按照存储形式可分为三种auto, static, register。其中register不常用到,下面主要说说auto和static的区别。 存储空间分配和生存周期不同 auto类型...原创 2019-04-09 14:12:00 · 586 阅读 · 2 评论