![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 89
那年晴天
汽车行业
展开
-
C语言的那些秘密之---函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意转载 2017-03-10 15:35:13 · 294 阅读 · 0 评论 -
C++ 在.h文件中包含头文件和在.cpp文件中包含头文件有什么区别?
现有两个文件Test.h 和Test.cpp #include 在Test.h中包含 和在Test.cpp中包含有什么区别?1、在cpp文件中包含.h文件,要么你要用到这个头文件中的函数或者类,要么就是实现这个头文件;2、.h ---就是为了放一堆声明所产生的东西。如果是定义放在.h中。 如果.h被重复包含多次,那么则会被报重定义。所以在.h 中都要---如果函数就要是inline ,转载 2017-03-14 09:21:52 · 3006 阅读 · 0 评论 -
C语言头文件定义全局变量问题
正确的作法是在c源文件中定义一个全局变量,在头文件中加入全局变量的声明,在外部文件调用的时候,包含其头文件,加入全局变量的声明(不加也是可以的,最好加上)。//1.c int a;//1.h extern int a;//test.c #include "1.h"extern int a;int原创 2017-03-24 10:23:30 · 6481 阅读 · 0 评论 -
采用dlopen、dlsym、dlclose加载动态链接库【总结】
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一步去转载 2017-03-24 13:43:14 · 293 阅读 · 0 评论 -
两个指针相减的结果
例子:inta[3] ={1,2,3}; int* p; int* q; p= a; cout"p的地址:" cout"p指向的内容:" q= &a[2]; cout"q的地址:" cout"q指向的内容:" cout"两个指针的减法:转载 2017-05-11 19:44:08 · 5784 阅读 · 0 评论 -
C/C++变量命名规则,个人习惯总结
C_C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则: 1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。2、 第一个字母必须是字母或者下划线开头。3、 不能使用C++关键字来命名变量,以免冲突。4、 变量名区分大小写。 变量命名规则:一、转载 2017-05-22 18:50:56 · 727 阅读 · 0 评论 -
使用fseek()函数从文件尾部前移并且写入数据
首先,打开文件原创 2017-10-19 13:58:59 · 3491 阅读 · 0 评论 -
位与&,位或|,位异或^运算,以及运用场景
一.按位与运算符参加运算的两个数据,按二进制位进行位与运算. 例如:3&5 先将两个数据转化为二进制数,然后按位进行与运算,同为1结果为1,其它情况结果为0; 即:11&101=001结果为1特别提醒:负数按补码形式参加按位与运算。位与运算的特殊用途: 1.清零(将一个单元与0进转载 2017-10-19 21:53:25 · 1490 阅读 · 0 评论