简述形参和实参之间的关系

形参起替代作用,调用时用实参替代形参。

在函数声明时,char *strcpy(char *dest, const char *source);dest和source让含义一目了然,也可以省略dest和source

函数调用时,有传值和传址两种方式,前者会把实参的一个副本给了调用函数,调用之后原实参的值不变,后者会把实参的地址给了调用函数,调用函数能够直接修改实参的值。

比如,void swap(int x, int y)

{

int t;

t = x;

x = y;

y = t;

}

 

int m = 5,n = 8;

swap(m, n);之后m =5, n =8;

但如果:void swap(int *x, int *y)

Continue reading

网络编程基础(高手绕道)

如果你是高手,就不要看了 :)

经常会看到许多人问几乎相同的基础问题,这里根据自己的习惯做一些描述,这个帖子会慢慢根据大家的问题更新(希望可以坚持住 ^_^),希望对初学者有所帮助。

一、关于语言、编译器及系统

我们知道,在计算机里面进行程序设计至少需要掌握一种程序设计语言。常见的程序设计语言包括C/C++、ASM、BASIC、Delphi、Perl等,你随便根据兴趣去学习一种语言都可以实现程序设计这个目的,这些语言并没有谁比谁更好的问题(这是一个理解问题,实际上一些语言应该说比一些语言更先进,比如可以说C++比C更先进,但不能说谁比谁好,每一种语言都是优秀思想的结晶,我这样理解),只是它们的侧重点不同。比如,ASM、C比其他语言更接近系统的底层,使得它们适合做系统方面的程序设计、而用BASIC可以更快的设计应用程序等。作为网络程序设计我更喜欢C/C++语言,它有目标程序较小、运行速度快等优点,还包括习惯问题(所以,下面的描述中如果不特别说明,都以C/C++为例),当然选择什么语言进行程序设计是见仁见智的问题(你决定选择C/C++了吗?如果决定了,下面的的描述会更有针对性)。

我们选择好一种语言后,并编写好了程序代码,这么样才能让系统运行我们的程序呢?这就需要编译器了,编译器的作用就是把类似下面的源代码编译成系统可以识别并执行的代码:

#include <stdlib.h>

int main()

{

printf(“hello word.rn”);

return 0;

}

所有的语言都有自己的编译器,C语言的编译器有TC、BC等,C++语言的编译器有Visual C++、C++ Builder等。C和C++语言的关系是很密切的,C++语言是C语言的超集,而因为向下的兼容性,所以,如果你写的C源代码符合ANSI C标准,那么其在C和C++的编译器里面都可以编译,相反,C++的源代码只能在C++的编译器中编译。

那么编译器除了可以把源代码编译成可执行代码还有其他的作用吗?

Continue reading

完美解决google无法链接

遨游浏览器搜索栏或者其他的Google.com.hk或者google.com不能搜索了啦,急死我拉!!

因Google网站目前搬到了香港,至于为什么访问hk毕竟不稳定而和jp或者tw的google非常稳定,这个我也不知道。

www.20xue.com提供解决方案,大家设置一下就好了。

    步骤1和2:image

    步骤3:image

Google 台湾搜索 搜索串:

Continue reading