C/C++
S5林风
拥有无尽的好奇心喜欢追寻探索
展开
-
C语言技巧
? 变量和作用域1.全局变量的初始化1) 如果全局变量没有初始化,那么编译器在编译的时候就会把这个变量初始化为02) 全局变量在初始化的时候就不能做变量运算的,它只能用常量来初始化。2.局部变量的作用域3.其它作用域1) 在作用域的开关是可以定义变量的,而不仅仅是在函数的开始处。2) { }也是一个作用域? 多文原创 2013-09-08 21:31:07 · 736 阅读 · 0 评论 -
回调函数
觉的这篇博文不错,在这里保存下来回调函数在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC wi转载 2016-04-02 18:42:01 · 552 阅读 · 0 评论 -
按位与、或、异或、移位运算
按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。 另,负数按补码形式参加按位与运转载 2014-06-21 22:34:21 · 8068 阅读 · 0 评论 -
C++中Lambda表达式
Lambda表达式的语法通过下图来介绍: 这里假设我们定义了一个如上图的lambda表达式。现在来介绍途中标有编号的各个部分是什么意思。Lambda表达式的引入标志,在‘[]’里面可以填入‘=’或‘&’表示该lambda表达式“捕获”(lambda表达式在一定的scope可以访问的数据)的数据时以什么方式捕获的,‘&’表示一引用的方式;‘=’表明以原创 2014-07-28 18:55:36 · 579 阅读 · 0 评论 -
内存对齐
原创 2014-02-19 18:56:03 · 680 阅读 · 0 评论 -
setiosflags作用
cout setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用 是执行由有参数指定区域内的动作;参数:1. iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点数,并且在允许的精度范围内尽可能的把数字移向小数点右侧; 2. iso::right 也是setiosfl原创 2014-02-13 15:18:36 · 1942 阅读 · 0 评论 -
递归算法简析
这个递归程序很简单,但是遇到复杂的递归算法可就不容易看懂了。以下这种方法能够帮助大家进行分析,但愿吧。 一.例子(用从C++描述): 行号 程序 0 p (int w) 1 {if( w>o) 2 { cout 3转载 2013-10-21 20:07:21 · 632 阅读 · 0 评论 -
code::Blocks使用时的乱码问题
1.Code::Blocks 编辑器保存源文件用的编码。 默认情况下,是保存为windows本地编码的,也就是WINDOWS-936字符集,也就是GBK编码。 但是GCC编译器默认编译的时候是按照UTF-8解析的。你存成GBK,但是当成UTF-8解析,这还能编译通过,这才有鬼了,所以这两个地方编码不统一好,编译的时候报错:error: converting to execut转载 2013-10-07 21:32:00 · 962 阅读 · 0 评论 -
undefined reference问题总结
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(转载 2013-10-06 15:54:17 · 776 阅读 · 0 评论 -
error: stray ‘\357’ in program产生原因
转自:http://blog.csdn.net/dk123/archive/2010/01/27/5261362.aspx记录在这里,学习查询! 最近在学习 C++ 的模板元技术,Loki 库无疑是最好的参考资料之一,至于 Loki 的介绍在这里就不多敷述了,直接说我遇到的问题:从下面地址可以获得最新的代码:https://loki-lib.svn.sourcefo原创 2013-10-06 15:52:19 · 2368 阅读 · 0 评论 -
C/C++中const关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数:转载 2013-10-04 19:49:05 · 711 阅读 · 0 评论 -
一个地址,两个值
#include int main(void){ const int a = 10; *(int *)&a = 20; if ( a == 20) printf("a = 20\n"); printf("%d, %X\n", a, &a);; printf("%d, %X\n",*(int *)&a,(int *)&a原创 2013-10-03 19:04:18 · 530 阅读 · 0 评论 -
结构体位制与内存对齐
05 #include 06 07 typedef struct _A08 {09 unsigned a:4;//位段成员的类型仅能够为unsigned或者int10 unsigned b:4;11 unsigned c:2;12 unsigned d:6;13 unsigned E转载 2013-10-01 21:55:57 · 688 阅读 · 0 评论 -
数组与指针
数组是相同变量的有序集合,大小为一片连续的内存空间存储元素。数组名可看作一个常量指针,它指向内存中数组首元素的起始地址。虽然数组的地址&a与数组名的值相同,可是表示不同的概念,数组的大小sizeof(*a)*array_size ==sizeof(*a)*(sizeof(a)/sizeof(*a))因此*(a+i)相当于a[i],指针是一种特殊类型的变量,存放指向数据变量的地址。其原创 2013-10-01 21:43:54 · 681 阅读 · 0 评论 -
字符数组与字符串分析
#include int main(int argc, char *argv[]){ char day[15] = "abcdefghijklmn"; char* strTmp = "opqrstuvwxyz"; printf("&day is %x\n",&day); printf("&day[0] is %x\n",&day[0]); prin原创 2013-10-01 13:22:34 · 797 阅读 · 0 评论 -
在vs2010中,新建C语言程序,运行时DOS窗口一闪而过看不到结果,解决方法整理
在vs2010中,新建C语言程序,运行时出现这样的现象:DOS窗口一闪而过,想查看输出内容,但是看不到,很纠结!!!现整理下自己测试过的方法: 1) 在main()函数的末尾加一个 system("pause"); 此时头文件应有#include注意:主函数末尾有re原创 2013-09-08 21:33:40 · 4093 阅读 · 0 评论 -
URL链接中汉字乱码转UTF-8和gb2312
在使用URL向服务器提交数据的时候,如果我们提交的数据中存在汉字,就会出现下列情况http://192.168.11.22/cgi-bin/serial.cgi?type=text&text=%C9%DB%CD%FB%C8%A8%C9%DB%CD%FB%C8%A8代表着什么,不是我们想要的数据,那它是什么呢?去除所有%号:C9DBCDFBC8A8使用汉字内码查询可以看到原创 2016-04-02 18:45:51 · 4852 阅读 · 0 评论