上一页 1 ··· 3 4 5 6 7
摘要: 语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或若参加运算的两个二进制位值相同则为0,否则为1~取反~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0>右移将一个数的各二进制位右移N位,移到右端的低 阅读全文
posted @ 2013-10-10 16:14 virusdefender 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 最近一直在windows下和ubuntu下写代码,最大的问题就是 windows下的东西拿到ubuntu下就会乱码,其实使用office软件选择正确的编码打开后再复制出来就行了。http://pan.baidu.com/s/100RXt 阅读全文
posted @ 2013-10-07 15:03 virusdefender 阅读(124) 评论(0) 推荐(0) 编辑
摘要: #include int f(int *p){ p = p+1; return printf("%d\n",*p); } void main(){ int a[]={1,2}; int *p = a;//指针p是首地址 f(p);//调用 printf("%d",*p);//p的值是不会改变的 } 结果:21Press any key to continue#include void z(int *p){ p = p+1; *p = 100; } void mian(){ int a[] = {1,2}; int ... 阅读全文
posted @ 2013-10-02 22:57 virusdefender 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 在Debug模式下,VC会把未初始化的栈内存全部填成0xcc,当字符串看就是烫烫烫烫……会把未初始化的堆内存全部填成0xcd,当字符串看就是屯屯屯屯……可以让我们方便地看出那些内存没初始化但是Release模式下不会有这种附加动作,原来那块内存里是什么就是什么名字描述0xCD Clean Memory申请的内存由malloc或者new完成0xDD Dead Memory释放后的内存,用来检测悬垂指针0xFD Fence Memory动态申请后的内存值,没有初始化。用来检测数组的下标界限0xAB (Allocated Block?)使用LocalAlloc()分配的内存0x0DF0ADBA Ba 阅读全文
posted @ 2013-10-02 22:52 virusdefender 阅读(642) 评论(0) 推荐(2) 编辑
摘要: 这几天在实验室呆着,其实也没有干多少真正有用的事情,但是觉得高手大牛太多了,学习气氛也很好。这几天写的东西比较侧重文件操作,主要的函数就是有fscanf(), fprintf(), fgets(), fputs(), fwrite(), fread(),注意区别,什么时候用哪个比较好~~比如人家使用fscanf()的 我用fgets()就麻烦了不少啊~人家的代码考虑的比较简单,而我写的东西大段大段的代码。就觉得自己是懂得的越多,越觉得自己用该学习的东西还有很多。好好的利用一下这个假期吧。自己以后具体是什么方向呢~~客户端,web,运维,安全还是什么。。-----------------c语言基 阅读全文
posted @ 2013-10-01 09:38 virusdefender 阅读(1144) 评论(0) 推荐(1) 编辑
摘要: //求挑毛病//这个项目的最大的收获就是汉字的编码和fputs()函数的应用#include #include #define yidong_path "d:\\data\\yidong\\"#define liantong_path "d:\\data\\liantong\\"#define yidong_file_ext "移动.txt"#define liantong_file_ext "联通.txt"//通过运营商识别码,识别 返回1 移动 0 联通int CheckCarrier(char char1, 阅读全文
posted @ 2013-09-29 15:47 virusdefender 阅读(618) 评论(0) 推荐(0) 编辑
摘要: //多维数组保存字符串#include int main(){ char str[10][20]; scanf("%s", str[0]); scanf("%s", str[1]); puts(str[0]); puts(str[1]); getchar(); getchar(); return 0;}输入的时候,只要自己的修改一下第一位的下标就可以了~~-------------------------------------------------------------------//strlen()函数的简化版#includeint my... 阅读全文
posted @ 2013-09-28 10:28 virusdefender 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 自己实现的一个简单的链表,功能不是很全,而且有很重大的错误,就是一级指针是没办法修改之前传过来的指针的,所以要使用二级指针或者是返回指针//总结:1.参数检查 对于插入操作等要检查插入位置等 对于删除操作要检查链表是否为空// 2.创建链表可以不将创建所有的节点放在整个函数中,而是写一个类似的CreateNode(struct node* p_head, elemtype e)之类的函数//链表的基本操作的实现,使用单个的函数实现逐个的操作#include #include #include /////////////////////////////////////创建链表 参数为头... 阅读全文
posted @ 2013-09-27 16:33 virusdefender 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—编译器编译时即分配内存。全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系 阅读全文
posted @ 2013-09-25 20:17 virusdefender 阅读(367) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7