易截截图软件、单文件、免安装、纯绿色、仅160KB

c与c++的区别(基础)

为了用vc写一个最简单的 socket 程序,花费了一个下午的时间,过程中出现的错误有:
'SOCKET' : illegal use of this type as an expression
syntax error : missing ';' before 'type'
syntax error : identifier 'InitWinsock'   -->       bool   InitWinsock()  
既然要做 socket 程序, #include <winsock.h> 是 必不可少的,以及 ws2_32.lib,但问题不出在这里。
该文件若是 .cpp 后缀可成功编译,然而若是 .c 就出现上述错误,可见,这便是 c与c++的区别。
首先,要保证所有的 变量声明 位于程序最前面,
int i; 也要在
int j = 5; 前面;
其次,winsock.h 中有SOCKET的宏定义, 要么大写,要么 struct socket,两者相同;
然后,在C语言中,没有bool类型,只是在宏定义中有 #define int BOOL,以及 #define TRUE 1 等。
最后,在更正所有错误后,我去除了 windows debug 等中ws2_32.lib,依然可以运行,不知何故?!
综上所述,C与C++还是有不少区别的。
虽然更正了错误,但原因不甚了解,望高手指点一二。


相关文档:

c/C++编译的程序占用的内存

一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类 ......

Linux中常用的C\C++头文件

1、  一些头文件的作用:
<assert.h>:ANSI C。提供断言,assert(表达式)
<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdi ......

C面试题汇总

1、  int a=2,b=11,c=a+b++/a++; 则c值为多少?
【考点】编码规范。
表面上考察你对运算符优先级的掌握程度,但实际上优先级这些玩意很难死记硬背得住?大家的疑惑不就是运算符的结合顺序么?那么如何去避免呢?c=a+((b++)/(a++))不就行了么,其实问题背后考察的是你的编码规范,如何写清晰易懂的代码,如何在一个团 ......

我的c学习之路二 hello world


<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号