计算机语言基础
xwdpepsi
积极,努力,认真,负责,诚实
展开
-
链表和数组(转)
链表和数组一样是一种数据结构。 数组是将元素在内存中连续存放,由于每个元素占用内存相同,所以可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。 链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针转载 2012-08-29 14:13:15 · 2786 阅读 · 0 评论 -
float与0比较,进行条件判断
注意一下几点:1.在数后面一定要加上f,如0.0f才表示float类型的0;2.float类型不精确等于0,故用区间进行表示,如f>= - EPSINON) || (f 程序代码:const float EPSINON = 0.00001f;void test_type(bool b,const char *p,float f){ if (!b) { re原创 2012-11-02 00:33:45 · 4241 阅读 · 1 评论 -
TCP连接过程详解
tcp状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待连接中断转载 2012-10-22 10:09:46 · 1205 阅读 · 0 评论 -
#pragma pack(n)转的
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test转载 2012-10-19 10:34:29 · 1019 阅读 · 0 评论 -
关于链式表达式
已知strcpy函数的原型是 char *strcpy(char *strDest, const char *strSrc);其中strDest是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,请编写函数strcpy char *strcpy(char *strDest, const char *strSrc);{ assert((strDe转载 2012-09-19 13:20:29 · 1145 阅读 · 0 评论 -
c++ 三种继承(public protect private)
主要参考了下面的文章,根据它来谈谈自己的看法。参考文章:http://blog.sina.com.cn/s/blog_60cc33d70100xylq.html先贴张图:1. public继承 从语义角度上来说,public继承是一种接口继承(可以理解为子类对象可以调用父类的接口,也就有可能实现多态了) 从语法角度上来说,public继承后,关系见上图。很明转载 2012-09-17 18:39:38 · 496 阅读 · 0 评论 -
友元函数和友元类
转自:http://www.cppblog.com/twzheng/articles/21020.html友元函数和友元类 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元转载 2012-09-17 17:13:26 · 1035 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2012-10-01 16:36:52 · 557 阅读 · 0 评论 -
ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
转自:http://hi.baidu.com/adobestone/item/7140eaf5feae1d3e753c4c2aadobestone注:下图来自于《TCP/IP详解卷一:协议》第二章 图2-4另,无论是ping127.0.0.1或本地IP(在Windows和Linux下),都不能抓获到ping数据帧,亦即ping两者都是不经过网卡的,都是通过环路来处理的(从图中也可以看出来)转载 2012-09-29 19:58:08 · 12864 阅读 · 1 评论 -
递归函数最终会结束
递归函数最终会结束,那么这个函数一定(不定项选择):1. 使用了局部变量 2. 有一个分支不调用自身3. 使用了全局变量或者使用了一个或多个参数这是一道简单的选择题,但包含的内容并不算简单,而不定项选择更加大了难度。我一眼看去,自然就选择了2和3。1显然不是,局部变量只在一次调用局部范围有效,出了这次调用的范围就无效了,它不能控制递归的结束。(这个选项是考查局部变量生命周期/有转载 2012-08-28 11:14:50 · 2710 阅读 · 0 评论 -
x&(x-1)含义
求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){ int countx = 0; while(x) { countx++; x = x&(x-1); } return countx;}转载 2012-08-29 15:32:17 · 632 阅读 · 0 评论 -
网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感转载 2014-01-17 16:01:27 · 734 阅读 · 0 评论