zoukankan      html  css  js  c++  java
  • typedef关键字

    【1】typedef关键字有何作用?

    typedef通常被用于以下三种目的:

    <1> 为了隐藏特定类型的实现,强调使用类型的目的。

    <2> 简化复杂的类型定义,使其更易理解。

    <3> 允许一个类型用于多种目的,同时使得每次使用该类型的目的明确。

    【2】关于typedef使用应该注意哪些问题?

    (1)typedef使用举例。示例代码如下:

     1 #include<iostream>
     2 using namespace std;
     3 void main()
     4 {
     5     typedef char* charPtr;
     6     charPtr ch, ch1;                 //char *ch, char *ch1
     7     char   *ph1 = ch;                   //OK!!!!!!
     8     char   *ph2 = ch1;                  //Ok!!!!!!
     9     char    String[4] = "abc";
    10     const  char  *p1 = String; 
    11     const charPtr p2 = String;       //相当于char * const p2 (注意差别)
    12     p1++;
    13     *p2 = 'a';
    14     //p2++;                          //error!!!!!!p2为常量
    15 }

    (2)宏替换与typedef的区别

     1 //宏替换与typedef的区别:
     2 #include<iostream>
     3 using namespace std;
     4 
     5 #define  charPtr  char* 
     6 void main()
     7 {
     8     charPtr ch,ch1;         //char *ch,ch1//ch相当于指针 ch1相当于变量
     9     char   String[4] = "abc";
    10     const char *p1 = String;
    11     const charPtr  p2 = String; //const char * p2 
    12     p1++;      //const修饰*p1
    13     p2++;      //const修饰*p2
    14     *p1='a';   //error!!!!!!!!!
    15 }

    (3)typedef使用分类

     1 #include<iostream>
     2 using namespace  std;
     3 
     4 typedef int *PINT;               //PINT    在此代表 int * 
     5 typedef int Array[10];           //Array   在此代表类型  int []  
     6 typedef int (*pfn)(int,int);     //pfn     在此代表一种函数指针类型
     7 void main()
     8 {
     9     Array a,b;
    10     pfn c,d;
    11 }

     (4)typedef特殊情况

     1 #include <iostream>
     2 using namespace std;
     3 
     4 typedef struct
     5 {
     6     int m_a;
     7     int m_b;
     8 } ABC, DEF, FGH; // ABC、DEF、FGH均为类型名称
     9 
    10 void main()
    11 {
    12     cout << "sizeof(ABC) :: " << sizeof(ABC) << endl; // 8
    13     cout << "sizeof(DEF) :: " << sizeof(DEF) << endl; // 8
    14     cout << "sizeof(FGH) :: " << sizeof(FGH) << endl; // 8
    15 }
    16 // run out:
    17 /*
    18 sizeof(ABC) :: 8
    19 sizeof(DEF) :: 8
    20 sizeof(FGH) :: 8
    21 */

     (5)待续.....

    Good Good Study,Day Day Up.

    顺序 选择 循环 总结

    作者:kaizen
    声明:本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此声明,且在文章明显位置给出本文链接,否则保留追究法律责任的权利。
    签名:顺序 选择 循环
  • 相关阅读:
    Java学习笔记1---JVM、JRE、JDK
    Java学习笔记2---设置环境变量JAVA_HOME,CLASSPATH,PATH
    第一次博客作业
    2018-2019-2 《Java程序设计》第5周学习总结
    作业四——文法和语言总结与梳理
    作业三——语法书、短语、直接短语、句柄
    作业二——文法和语言
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
  • 原文地址:https://www.cnblogs.com/Braveliu/p/2840341.html
Copyright © 2011-2022 走看看