随笔分类 -  C/C++

摘要:问题:一个文件有8*106个正整数,每个数都小于107。文件中所有整数都是唯一的。要求对这些整数排序,按升序把排序的结构输出到磁盘上。 解决问题的方案有很多,下面我们介绍几种典型的方案: 1、位图排序。 2、C标准库qsort(排序)。 3、系统命令排序。 4、C++标准库set容器排序。 阅读全文
posted @ 2013-10-06 21:00 windlaughing 阅读(937) 评论(2) 推荐(2) 编辑
摘要:使用指针时要涉及两个目标,即指针本身和指针所指的对象。关于const指针变量,可归结为以下三种: 1.指向常量的指针变量; 2.常指针变量; 3.指向常量的常指针变量。一、指向常量的指针变量:声明格式: const type * var_name; 或 type const * var_name;特点:可改值。 将指针声明冠以const,使指向的对象为常量,而不是指针为常量。注意:指向常量的指针不一定指向真正的常量,它也可以指向变量,只是从该指针的角度来看,它所指向的对象是常量,通过该指针不能修改它指向的对象。它还可以指向其它的对象,可以不初始化。例1: int a = 0... 阅读全文
posted @ 2013-09-29 22:01 windlaughing 阅读(571) 评论(0) 推荐(0) 编辑
摘要:C语言的位级运算可以运用到任何“整数”的数据类型上,如char、short、int、long、long long、或者unsigned这样的限定词。基本的位运算有与、或、非、异或等等。 C语言的位移运算有两种:左移、右移。左移运算:xk 表示x向左移动k位,丢弃最高的k位,并在右端补k个0。右移运算:分逻辑右移 和 算术右移。 逻辑右移:在左端补k个0; 算术右移:在左端补k个最高有效位的值(它对有符号整数数据的运算非常有用); 阅读全文
posted @ 2013-07-08 15:09 windlaughing 阅读(1878) 评论(1) 推荐(1) 编辑
摘要:本文主要通过一个测试程序,来观察全局变量、静态变量、局部变量、常量、子函数、函数参数等,它们在内存中的分布规律。最后列举了内存中的几种空间类型。希望对大家有所帮助。变量在内存地址的分布(由大到小):全局\静态(未初始化)、常量数据、全局\静态(初始化)、代码区、堆、栈;栈中的变量按声明的顺序在内存的中依次,地址由大到小。证明了栈的伸展方向是由高地址向低地址扩展的;栈中的变量:主/子函数内声明的非静态变量(包括数组变量、指针变量、const变量);函数的参数变量。…… 阅读全文
posted @ 2013-04-11 09:32 windlaughing 阅读(1749) 评论(5) 推荐(2) 编辑
摘要:我们一开始只是从功能上或者说从数学意义上理解函数,知道函数名代表的是一个功能(或是说一段代码)。函数名到底又是什么东西呢?一个数据变量的内存地址可以存储在相应的指针变量中,函数的首地址也以存储在某个函数指针变量中。这样,我就可以通过这个函数指针变量来调用所指向的函数了。我们将通过多个示例,来深入理解函数指针的本质。。。 阅读全文
posted @ 2013-04-10 11:40 windlaughing 阅读(59351) 评论(3) 推荐(5) 编辑
摘要:一、指针常见问题#include "stdafx.h"#include <stdio.h>#include<stdlib.h>#include <string.h>void fucntion(char* b){ b=(char*)malloc(4); strcpy(b,"abc"); printf("In function:%s\n",b);}int main(int argc, char* argv[]){ char* a=NULL; fucntion(a); printf("In ma 阅读全文
posted @ 2012-04-16 19:29 windlaughing 阅读(554) 评论(3) 推荐(1) 编辑
摘要:一、C语言(一)1 #include<stdio.h>2 void main()3 {4 char s[20];5 scanf("%s",s);6 printf("%s\n",s);7 }(二)1 #include<stdio.h>2 void main()3 {4 char s2[20];5 gets(s2);6 puts(s2);7 }注:下面测试中 a 与 b 一样 1 #include <stdio.h> 2 void main() 3 { 4 char a[5]={"abcd"}; //最 阅读全文
posted @ 2012-03-24 17:10 windlaughing 阅读(45143) 评论(0) 推荐(5) 编辑