zoukankan      html  css  js  c++  java
  • const、typedef 、 define总结

    constkeyword
    const=read only,修饰的为仅仅读变量而不是常量。const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后。


    主要作用有:

    1.通过把不希望被改动的变量或參数用const来修饰。编译器会保护这些变量不被改动增强系统的可靠性;
    2.增强代码的可读性

    1. const int a;      //a为常量不能被改动  
    2. int const a;      //a为常量不能被改动  
    3. const int *a;     //a为指向一个常量的指针,a的值是能够变量的  
    4. int *const a;     //const修饰a,a为一个指向整型变量的指针常量  
    定义时必须进行初始化赋值,一经定义不能改动。上述代码1、2、4编译时会报错提示未初始化。
    const和volatilekeyword的后面若紧跟类型说明符则作用于类型说明符。在其它情况下。作用于它左边紧邻的指针星号。

                                                                                                                                                                                                                                                                                                                        

    typedef 与 define的差别体如今两个方面
    1.define能够对定义的宏类型名进行扩展,而typedef不能够
    1. #define peach int  
    2. unsigned peach i;//没有问题  
    3. typedef int peach;  
    4. unsiged peach i;//错误,非法  
    definekeyword仅仅是简单的字符替换,而typedef能够看成是对类型的一种封装。为现有类型取个新名字。
    2在连续几个变量的声明中仅仅有typedef能够保证类型的一致性
    1. #define int_ptr int *;  
    2. int_ptr chalk,cheese;  
    chalk为int *类型。而cheese为int型。由于define仅仅是简单的字符串替换
                                                                                                                                                                                             
    typedef的特殊使用方式

    用来声明函数指针

    1. typedef void(*ptr_fun) (int);  
    2. //ptr_fun是一个函数指针,參数为int型。返回值为void  
    3. ptr_fun sinal(int,ptr_fun)  
    4. //sinal是一个函数,接受int和ptr_fun两个类型的參数,返回值为ptr_fun 

    typedef int A[5];

    //a是一个指向有5个元素的整型数组的数组指针。A代表的类型是(int)[5] 。也即A b={1,2,3,4,5};
  • 相关阅读:
    最近几天在winform系统界面操作,流程操作上的经验总结.
    人生路痛苦中......
    Contact List
    奥巴马当选
    在会计电算化软件中设计凭证数据库的几种方法转摘(粗浅)
    修改ListItem时出现Error: Invalid data has been used to update the list item. The field you are trying to update may be read only.
    MOSS误删网站集后,如何还原?
    SharePoint2007 管理中心TimerJob”计时器作业定义”页面报错
    SharePoint 2010 常用技巧及方法总结
    利用RunWithElevatedPrivileges模拟管理员权限时慎用SPContext
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7218864.html
Copyright © 2011-2022 走看看