两台电脑之间究竟可以建立多少个 TCP 连接?

最近参加面试,有一道面试题是这样的,两台普通 PC 之间可以建立多少个 TCP 连接?这里的普通 PC 是指对外只有一个 IP 地址。我当时回答的是如果不考虑已经被占用的端口和保留端口号,可以建立 65535 个连接。结果面试官说不对,说可以建立 65535 的平方个连接。这也就是说,一个端口可以同时建立 65535 个 TCP 连接。那么,平时我们所说的端口占用到底是什么情况?这个面试题的答案是如面试官所说的吗?面试归来后,我经过一番搜索,终于搞明白了这个问题。

Continue reading

交换两个整数的“技巧”

一直一来,坊间流传着交换两个整数(int)的三个方法。第一种方法是最普通的方法,使用了一个临时变量,如下所示:

另外还有两种“技巧”,是不用临时变量的方法。分别为使用加减法的方法: Continue reading

C 的二维数组

前些日子在做毕设,用的是 C 语言,当时需要用到二维数组,我不是很清楚,就上网查查二维数组的声明与函数传参的一些资料,当时做毕设急着用,就没有弄得很清楚。最近放假在家,没有事情可做,我就看了《C与指针》这本书,书中着重讲了 C 语言的指针与数组,以及指针与数组的函数传参问题。看完后,我对 C 语言的指针和数组终于有了一个比较深入的了解。这篇文章就当是这本书的读书笔记吧,当然,我不会长篇大论地写,我就着重说说 C 语言的二维数组问题(大于二维的数组的原理其实差不多,就不说了)。 Continue reading