2012.07.09

1、函数接口

函数的调用者和函数的实现者之间订立了一个契约,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者要对调用者尽到某些义务

2、传出函数,传入函数

如果函数接口有指针参数,既可以把指针所指向的数据传给函数使用(称为传入参数),也可以由函数填充指针所指的内存空间,传回给调用者使用(称为传出参数),例如strcpy的src参数是传入参数,dest参数是传出参数.

3、参数传递
v 传值调用
v 数组
v 结构体
4、函数返回值
char * fun()
{
char str[11];
return str;
}
int main()
{
fun();
return 0;
}
5、命令行参数
int main(int argc, char *argv[]);
argc: 参数的个数
argv:存放参数的指针数组
6、位运算位操作符
v &
v |
^
7、位运算移位操作符
v >> <<
无符号值执行的所有移位操作都是逻辑移位但是对于有符号值,需要确定;
8、位运算掩码
v 如果要对一个整数中的某些位进行操作,怎样表示这些位在整数中的位置呢?可以用掩码 (Mask)来表示。比如0x0000ff00表示对一个32位整数的8~15位进行操作,举例如下:
1、取出8~15位。
unsigned int a, b, mask = 0x0000ff00;
a = 0x12345678;
b = (a & mask) >> 8; /* 0x00000056 */
同样也可以达到同样的效果:
b = (a >> 8) & ~(~0U << 8);
2、将8~15位清0
unsigned int a, b, mask = 0x0000ff00;
a = 0x12345678;
b = a & ~mask; /* 0x12340078 */
3、将8~15位置1
unsigned int a, b, mask = 0x0000ff00;
a = 0x12345678;
b = a | mask; /* 0x1234ff78 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值