随笔分类 - C/CPP
摘要:左←中→右优先级运算符名称运算对象个数结合性1()圆括号左[]下标运算符->指向成员运算符.结构体、共用体成员运算符2!逻辑非逻辑运算符单目运算符右~按位取反位运算符++自增1算术运算符--自减1-负号类型强制类型转换*指针运算符&取地址运算符sizeof求存储长度运算符3*乘运算符算术运算符双目运算符左/除运算符%余运算符4+加运算符算术运算符双目运算符左-减运算符5<<左移运算符位运算符双目运算符左>>右移运算符6>大于运算符关系运算符双目运算符左<小于运算符>=大于等于运算符<=小于等于运算符7==等于运算符双目运算符左!=不
阅读全文
摘要:一.基本概念剖析int* (*a[5])(int, char*); //#1 void (*b[10]) (void (*)()); //#2 double(*)() (*pa)[9]; //#31.C语言中函数声明和数组声明。函数声明一般是这样: int fun(int, double); 对应函数指针(pointer to function)的声明是这样: int (*pf)(int, double); 可以这样使用: pf = &fun; //赋值(assignment)操作 (*pf)(5, 8.9);//函数调用操作 也请注意,C语言本身提供了一种简写方式如下: pf = f
阅读全文
摘要:指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; 指针的类型 从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型: (1)int*ptr;//指针的类型是i
阅读全文
摘要:C++的前世是C,而且C所留下的神秘以及精简在C++中是青出于蓝而胜于蓝!C所带给人的困惑以及灵活太多,即使一个有几年经验的高段C程序员仍然有可能在C语言的小水沟里翻船。不过其实C语言真的不难,下面我想指出C语言中最神秘而又诡谲多变的四个地方,它们也继续在C++语言中变幻莫测。 指针,数组,类型的识别,参数可变的函数。一.指针。它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针
阅读全文
摘要:C语言中的运算符及其优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表
阅读全文
摘要:1、return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。 (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致。 (3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。2、break语句的作用 (1) 只能在循环体内和switch语句体内使用break语句。 (2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 (3) 当break出现在循环体中,但并不在switch语
阅读全文
摘要:这是计算机网络课程设计的作品,简单实现了FTP客户端。 用winsock2头文件。算是socket编程的学习实践。 所有代码在vc6.0下调试通过。 /**本程序参考rfc959标准。能与遵守此标准的服务器进行信息交互。仅限于windows系统。*/#include < stdio.h >#include < string.h >#include < stdlib.h >/*system()...
阅读全文