c++
suding666
我连你的名字不知道当我第一眼看到你时候我发现我没法淡定了
展开
-
a和&a的区别
考察 a和&a的区别。 //代码如下#include void main( ) { int a[6]={1,2,3,4,5,6}; int *p=&a+1; printf("%d,%d\n",*(a+1),*(p-1)); } 输出结果:2,6。 为什么呢?因为数组名a是数组的首地址,即a为&a[0],而&a是数组的指针。当 “int原创 2012-02-07 20:14:12 · 401 阅读 · 0 评论 -
函数指针和指针函数
函数指针和指针函数【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先转载 2012-04-20 13:34:09 · 431 阅读 · 0 评论 -
/dev/tty
/dev/tty 的特殊用途 (2011-06-22 10:25) 分类: C/C++ 我们知道在Linux的/dev目录下有一些特殊的文件,比如:/dev/tty, /dev/tty0, /dev/tty1 ...还有/dev/pts/0, /dev/pts/1, /dev/pts/2 ... 等。对于它们我们一般感觉比较理解。本文从编程的角度对其进行一些分析。转载 2012-05-10 13:39:53 · 18180 阅读 · 1 评论 -
反转一个线性链表
以下内容为转载,仅作为参考和笔记使用,非标准定义。望批评指教。//题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。//最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前//指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。//链表结点定义如下:struct ListNode {转载 2012-02-07 23:42:09 · 772 阅读 · 0 评论 -
void assert (int expression)
void assert (int expression);判定断言如果这个函数形式的宏的参数表达式等于0(例如,表达式值为false),一个消息将会写到标准错误设备并且调用abort,终止程序运行。显示的详细消息依赖于编译器的具体实现,但是它应该包括:断言失败时的表达式,源文件名称,断言失败出现时的行号。一个通常的格式是:Assertion failed: expressi转载 2012-08-07 17:14:28 · 745 阅读 · 0 评论 -
C语言中变量名的命名规则
C语言中变量名的命名规则 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源转载 2012-07-24 21:05:13 · 12549 阅读 · 0 评论 -
C++变量命名
Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的匈牙利变量名按:属性+类型 +对象 描述的顺序组合起来 下面 是HN变量命名规范, 属性部分 全局变量 g_ 常量 c_ c++类成员变量 m_ 静态变量 s_ 类型部分 指针 p 函数 fn 无效 v 句柄 h 长整型 l 布尔 b 浮点型(有时也指文件) f 双字 dw 字符串 sz 短整型 n 双精度浮点转载 2012-07-24 21:07:49 · 917 阅读 · 0 评论 -
C中const的 小结
CONSTconst是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。另外CONST在其他编程语言中也有出现,如C++、PHP5、C#.net、HC08 C。 C中CONST的使用: 虽然这听起来很简单,但实转载 2012-07-25 09:17:46 · 708 阅读 · 0 评论 -
char 与 unsigned char的本质区别
在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,转载 2012-07-25 13:56:04 · 470 阅读 · 0 评论 -
轻松掌握ISO8583报文协议.
我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了。最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑。鉴于此,我想很多同行也必然会经历同样得阶段,所以我写下本文,以便大家能够少走一些弯路。同时,我在网上(http://blog.csdn.net/lysheng/archive/2005/03/03/3转载 2012-07-30 12:40:49 · 846 阅读 · 0 评论 -
预编译 整理
容收集自网络,仅供自己学习和大家交流之用,如果侵犯了您的权益,请及时通知,会及时撤下!预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了转载 2012-09-06 15:13:23 · 522 阅读 · 0 评论 -
CRC校验字节型算法查表法解读
CRC校验字节型算法查表法解读(备忘)本文本人很喜欢,系转载转自:http://blog.csdn.net/suding666/article/details/8078708,若转载对作者本人有侵犯,请作者及时与本人联系,定将删除。以下为转载: http://hi.baidu.com/zhangshe/blog/item/0805e95c2a649647fbf2c0f4.转载 2012-10-16 20:33:38 · 13904 阅读 · 0 评论 -
CRC16校验 ---复制,查表法,用于高速通信校验
CRC16校验 ---复制,查表法,用于高速通信校验 (2011-08-25 20:45:07)转载▼ 前段时间用单片机做高速通信,在主机上增设人机界面,如果通信有出现错误的话,主机出现提示,但是有几次明显出错了。(我是做LED夜景的),灯光变化出现紊乱。但是为什么没有校验出来了,原来用单片机自带的校验也会出现丢失。 想想只能用起CRC校验,如果用CRC32转载 2012-10-16 20:20:25 · 7649 阅读 · 0 评论 -
改进型冒泡排序
void bubble(int a[],int n){ int i,j,flag; int temp; for(i = 0; i { flag = 0; for(j = 0; j if(a[j] > a[j+1] { flag =转载 2012-05-03 17:20:04 · 505 阅读 · 0 评论 -
结构体可以用等号直接赋值
#include #include struct ss_s{ int a; int b; char *c; int arr[3]; int *d;};int main(void) { struct ss_s tt, tmp; int q = 9, i; tt.a = 10;转载 2012-05-03 16:32:10 · 5696 阅读 · 0 评论 -
sprintf介绍
sprintf很好用。下面就做一个介绍,作为笔记。 sprintf简介 2011-12-13 17:23:10本文编辑转载自:http://wenku.baidu.com/view/cab45163caaedd3383c4d331.htmlC语言的sprintf函数跟printf在用法上几乎一样,只是两者打印的目的地不同而已,前者打印到字符串中,后者则直接转载 2012-03-23 10:29:33 · 445 阅读 · 0 评论 -
二维数组指针理解(论坛转载)
二维数组指针理解 int b[k], *q=0;//用指针要初始化! q = b; //指针q指向数组b的首地址 以后使用数组b的元素,比如b[?],均可用q[?]代替!(注:?表示某整数索引值) q = b+i;//此时指针q不再指向数组首地址,而是指向b[i]元素的地址 若要给b[i]元素更新值,可以: b[i] = ?; 或者 q[i] = ?转载 2012-02-12 12:16:43 · 951 阅读 · 0 评论 -
C++内联函数(Inline)介绍
C++内联函数(Inline)介绍 介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如#define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺转载 2012-02-12 15:49:34 · 333 阅读 · 0 评论 -
【转】C/C++中的联合体union及CPU大小端判定
在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也可以使用联合体来发挥其长处。首先看一段代码:View Code union myun { struct { int x; int y; int z; }u; int k; }a;转载 2012-02-11 23:55:17 · 491 阅读 · 0 评论 -
#ifdef /#if
#ifdef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef #define ..转载 2012-03-07 14:05:43 · 495 阅读 · 0 评论 -
内存泄露检测详细分析
详细分析内存泄露检测 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,使用完后必须显式释放的内存。C++中使用new和new[]实现从堆中分配到一块内存,使用完后,程序必须负责相应的调用delete或delete[]释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。下面4种内存泄露分类概括了常见的绝大部分的内存泄露的情形。 1. 常转载 2012-03-06 13:40:06 · 1121 阅读 · 0 评论 -
指向指针的指针
标 题: 彻底搞定C指针---指向指针的指针(转) 一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9转载 2012-03-09 11:13:44 · 303 阅读 · 0 评论 -
C和C++格式化输入输出
C和C++格式化输入输出 一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf(””, );其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以”%”开始, 后跟一个或几个规定转载 2012-03-28 14:16:18 · 12008 阅读 · 0 评论 -
linux yum命令详解
linux yum命令详解yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,转载 2012-03-13 21:23:08 · 345 阅读 · 0 评论 -
c语言中static 用法
c语言中static 用法static在c里面可以用来修饰变量,也可以用来修饰函数。先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不是堆,不要弄混。int a ;int main(){ int b ; int c* = (int *)malloc(sizeof(int));}a是全局转载 2012-03-15 08:55:10 · 336 阅读 · 0 评论 -
va_start、va_end、va_list的使用
va_start、va_end、va_list的使用func( Type para1, Type para2, Type para3, ... ){ /****** Step 1 ******/ va_list ap; va_start( ap, para3 ); //一定要“...”之前的那个参数**ap指向para后的第一个可变参数。转载 2012-04-02 14:01:03 · 380 阅读 · 0 评论 -
Linux Socket编程(不限Linux)
Linux Socket编程(不限Linux)“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那转载 2012-03-22 14:48:48 · 440 阅读 · 0 评论 -
strcpy_s函数两个参数和三个参数
strcpy_s函数两个参数和三个参数 看名字明白,它和strcpy()函数的功能应该一样的。strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。这个函数用两个参数、三个参数都可以,只要可以保证缓冲转载 2012-03-22 21:57:52 · 2553 阅读 · 0 评论 -
void 类型总结
2011-04-27 11:14 void 类型总结void 既可以修饰指针,也可以修饰函数返回值,还可以声明函数的参数 void指针类型ANSI新标准增加了一种“void”指针类型,即可以定义一个指针变量,但不指定它是指向哪一种类型数据。ANSI C使用类型void * (指向void的指针)代替char * 作为通用指针的类型。任何类型的指针都可以转换为void转载 2012-11-24 10:46:24 · 933 阅读 · 0 评论