【自用12.】C++类型定义

什么是类型定义

typedef 是一个高级数据特性,它可以为某一 类型 自定义名称 , 即类型的别名。

为什么要使用类型定义 

1.简化写法

2.提高程序可移植性

//64 位 linux 系统

#include <stdio.h>
#include <stdlib.h>

typedef long int64;

int main(void){
    int64 dream = 10000000000; //梦想一百亿
    printf("dream: %lld\n", dream);
    printf("sizeof(int64): %d\n", sizeof(int64));
    return 0;
}

运行结果:

dream: 10000000000
sizeof(int64): 8

//32 window 系统

#include <stdio.h>
#include <stdlib.h>

typedef long long int64;

int main(void){
    int64 dream = 10000000000; //梦想一百亿
    printf("dream: %lld\n", dream);
    printf("sizeof(int64): %d\n", sizeof(int64));

    system("pause");
    return 0;
}

 运行结果:

dream: 10000000000
sizeof(int64): 8

 

解读:在Windows的64位系统中long类型的变量是八位的,可以存储一百亿这个数字,而在Windows的32位系统中long long类型才可以存储一百亿这个数字,如果我们编写的代码很长,则在不同位数的系统中需要修改非常多的变量类型,如果使用了类型定义就可以大大减少工作量,只需要修改类型变量就可以了。

类型定义的使用

#include <stdio.h>
#include <stdlib.h>

typedef char * STRING;
#define STR char *

int main(void){
    STRING s1, s2; //等同于 char *s1; char *s2;
    char name[] = "Martin";
    s1 = name;
    s2 = name;
    STR s3, s4; // char * s3, s4;
    s3 = name;
    s4 = name[0];
    system("pause");
    return 0;
}

 解读:define是非常简单的替换,就是文字的替换,替换之后的文字所表达的是什么意思就是什么意思。但是类型定义不一样,可以理解为类型定义的替换,直接就是这个类型的替换了。

define替换之后按文字字面意思理解,比如 STR s3,s4; 就是char * s3,s4; 这个语句的字面意思就是一个char类型的指针变量和一个char类型的变量,所以STR s3,s4;也就是定义了一个char类型的指针变量s3和一个char类型的变量s4.

类型定义替换之后是对整个类型的替换,比如 STRING s1,s2;就是 char * s1, * s2; 它对s1和s2的类型都进行了替换,所以STRING s1,s2;也就是定义了两个char类型的指针变量,即s1和s2。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值