可以使用宏定义没有返回值的“函数”。例如:  复制代码 代码如下:#define PrintMax(a, b) \\   do \\   { \\     int x = a, y = b; \\     printf(\"Max: %d\\n\", x > y ? x ...
本文所述示例程序是基于Linux平台的socket网络编程,实现文件传输功能。该示例是基于TCP流协议实现的socket网络文件传输程序。采用C语言编写。最终能够实现传输任何格式文件的文件传输程序。 具体实现代码如下: Server端代码如下: /************...
C语言atoi()函数:将字符串转换成int(整数) 头文件: #include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * str); 【函数说明】a...
从变量到常量的赋值是合法C++的语法约定的, 如从char 到const char顺畅; 但从char **到 const char **编译器就会报错: 复制代码 代码如下: error: invalid conversion from `char**\' to `...
多么令人愉快的一个问题啊 就在被带到编译器那里之前,预处理器都会对你的源代码瞧上一瞧, 做一些格式化的工作,并执行任何你在源代码里面留给它来执行的指令. 像什么? 好吧,预处理器的指令就被叫做预处理器指令,而他们都以一个#开头. 像 #include 这样? 正确. 每一个被预...
通常来说程序根据需要调用Invalidate(FALSE)使窗口客户区无效引起重绘,然后在窗口OnPaint函数(基于文档视图的程序则是OnDraw)中进行稳定绘图就行了。但是,我们在OnPaint中进行多重绘制(画背景、棋盘、棋子等),前后绘制的反差造成了闪烁现象。以前知道J...
对函数的“定义”和“声明”不是一回事。函数的定义是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型以及函数体等,它是一个完整的、独立的函数单位。而函数的声明的作用则是把函数的名字,函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时进行对照检查(例如,...
可以使用数组下标操作符 ([ ]) 访问数组的各个元素。 如果在无下标表达式中使用一维数组,组名计算为指向该数组中的第一个元素的指针。 // using_arrays.cpp int main() { char chArray[10]; char *pch =...
我们先来看个例子 char * strcpy(char * strDest,const char * strSrc) {   if ((NULL==strDest) || (NULL==strSrc))     throw \"Invalid argument(s)...
一、关于结构体的声明 1、匿名声明。如: struct { int i,j; }point; 说明: 这段代码的含义是,声明一个无名(anonymous)的结构体,并创建了一个结构体变量point。如果这段声明是放在全局域(在任意函数(比如main函数)...

我的博客

人生若只如初见,何事秋风悲画扇。