定义:

可以用typedef声明一个新的类型名来代替已有的类型名。

用法:

typedef int INTEGER;//指定用标识符INTEGER代表int类型
typedef float REAL;//指定用标识符代表float类型

然后

INTEGER a;
REAL b;

与语句

int a;
float b;

是等价的。

也可以用来声明结构体类型:

typedef struct {
int month; int day; int year;
}DATE;

所声明的新类型名DATE代表上面指定的一个结构体类型,然后就可以使用DATE定义变量:

DATE birthday;
DATE *p;

==========================================================

还可以进一步:

typedef int NUM[100];//声明NUM为整形数组类型
NUM n;//定义n为包含100个整形元素的数组
typedef char *STRING;//声明STRING为字符指针类型
STRING p,s[10]//定义p为字符指针变量,s为指针数组
typedef int (*POINTER)();//声明POINTER为指向函数的指针,函数返回整形值
POINTER p1,p2;//p1,p2为POINTER类型的指针变量
typedef struct date{
int month;
int year;
int day;
}*p_date; //定义p_date为指向结构体类型date的指针
link p_date;//定义p为指向结构体类型为date的指针
												

用typedef声明类型的更多相关文章

  1. 【转】#define 定义别名和 typedef 声明类型的区别

    下面一段程序的执行结果是: #include <stdio.h>#define CHAR2 char*int main(){    typedef char* CHAR;    CHAR ...

  2. 用typedef自定义类型语法你真的会吗

    关于typedef  我们学习typedef的时候,他的定义语法是:typedef+类型+别名,但是按照上面的格式,自定义数组怎么定义呢,是这样tepedef int a[10] 别名?还是这样tep ...

  3. C++(Typedef声明)

    typedef 声明: 使用 typedef 为一个已有的类型取一个新的名字.下面是使用 typedef 定义一个新类型的语法: typedef type newname; 例如,下面的语句会告诉编译 ...

  4. typedef声明变量也是一种求值过程

    前言: 什么叫做:声明变量是求值过程?请看下面的声明, int i; 很简单,声明了个整型变量i,再看如下声明, int *p; 也很简单,立刻反应出来它是指向整型的指针,但是具体如何推倒出来的呢?其 ...

  5. 第10章 协议和声明类型常量 - IdentityModel 中文文档(v1.0.0)

    使用OAuth 2.0,OpenID Connect和声明时,声明类型和protocoal值有很多"魔术字符串".IdentityModel提供了几个常量字符串类来帮助它. 10. ...

  6. c/c++的typedef/using类型别名

    久而久之,发现c/c++的typedef给类型自定义别名的语法糖就保证设计的一致性而言,确实是个相当不错的特性,跟oracle pl/sql的rowtype或type一样,可惜java.mysql均不 ...

  7. typedef 返回类型(*Function)(参数表) ——typedef函数指针

    //首先看一下函数指针怎么用 #include <iostream> using namespace std; //定义一个函数指针pFUN,它指向一个返回类型为char,有一个整型的参数 ...

  8. Gradle依赖声明类型

    compileOnly -用于编译生产代码所必需的依赖关系,但不应作为运行时类路径的一部分 implementation(取代compile)-用于编译和运行时 runtimeOnly(取代runti ...

  9. new delate he typedef的含义

    new:        new 类型[初值] 如: new int ;                                     //开辟一个存放整数的存储空间,返回一个指向该存储空间的 ...

随机推荐

  1. ASP.NET性能监视参数详解

    性能监视器- Performance Monitor 性能监视器是Windows自带的系统资源和性能监视工具. 性能监视器能够量化地提供CPU使用率, 内存分配状况, 异常派发情况, 线程调度频率等信 ...

  2. App引导页面源代码的实现

    一.页面效果图

  3. zoj 2256 Mincost

    #include<stdio.h> int main(void) { int kil; ; double sum; ) { sum=; flag=; while(kil) { ) { su ...

  4. 介绍 - OC中的代理模式

    一,代理设计模式的场合: 当对象A发生了一些行为,想告知对象B (让对象B成为对象A的代理对象) 对象B想监听对象A的一些行为 (让对象B成为对象A的代理对象) 当对象A无法处理某些行为的时候,想让对 ...

  5. JS字符串方法总结整理

    //javascript字符串方法总结   1.String.charAt(n)      //取得字符串中的第n个字符   2.String.charCodeAt(n)  //取得字符串中第n个字符 ...

  6. jquery获取多个checkbox的值异步提交给php

    html代码: <tr> <td><input type="checkbox" name="uid" value="&l ...

  7. cdoj 1134 男神的约会 状压dp

    题目链接 给一个10*10的方格, 每个格子里面有0-9,走到一个格子, 就要在这个格子待一段时间, 时间长度为这个格子的数字. 从左上角走到右下角, 要求0-9必须每种格子都要走到, 输出最短时间. ...

  8. ios 学习笔记(8) 控件 按钮(UIButton)的使用方法

    在实际开发中,对于开发者来说,更多的还是使用“自定义”按钮.将“按钮”对象的类型设置成UIButtonTypeCustom.这样一来,按钮的所有元素都将由开发者来配置和自定义. 对于一个自定义按钮来说 ...

  9. jQuery事件函数bind,live,delegate的区别

    DOM树 首先,可视化一个HMTL文档的DOM树是很有帮助的.一个简单的HTML页面看起来就像是这个样子: 事件冒泡(又称事件传播) 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何 ...

  10. Understanding and Selecting a SIEM/LM: Correlation and Alerting

    Continuing our discussion of core SIEM and Log Management technology, we now move into event correla ...