C-定义


数据转型

浮点数转换为整数(int )和(int&)形式:

   (int)a把浮点数a的数学数值转化成int型,保留了其整数部分。(int&)a等价于*((int*)&a),即将浮点数a的内存存储结构按照int型来解释,浮点数在存储的时候需要包括符号部分、指数部分、位数部分。而浮点数0的内存存储结构是全为0,两者得到的结果一样。

   数据类型转换包含两种情况,一种是程序员进行控制的类型转换(强制类型转换),另一种是编译器进行的转换(隐式类型转换)。

数据指针

     *p++是先取出*p的值,然后让p++;(*p)++是先取出*p的值,让这个值++;*(P++)是先取出*p的值,让p++;所以,*p++等价于*(P++)。

函数指针的声明: int (*pf)(int,int);
      (*pf)(5, 8);//调用
C语言提供的一种简写方式:

      int fun(int,int);
      pf = fun;     
      pf(5, 8); //调用  

数组指针(pointer to array)的声明:
     int a[5];
     int (*pa)[5];
     pa = &a;
     int i = (*pa)[2]; // 将a[2]赋值给i;

typedef

    并不创建新的类型。它仅仅为现有类型创建一个新的名字,易于记忆和使用。typedef 行为有点像 #define 宏,用其实际类型替代同义字。不同点是typedef在编译时被解释,因此能让编译器处理文本替换(预处理无法实现)。typedef就像auto、extern、mutable、static和register一样是一个存储类关键字。但它只是在语句构成上,typedef声明看起来象static,extern等类型的变量声明。

    typedef register int FAST_COUNTER; // 错误编译通不过

    不能在声明中用多个存储类关键字修饰。typedef 的一个重要的用途就是快速定义机器无关的类型,能隐藏复杂和难以理解的语法。方便移植。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值