【typedef定义数组】

typedef定义数组

例如:
typedef char NAME[20]; 表示NAME 是字符数组类型,数组长度为 20。然后可用 NAME 说明变量,如:
NAME a1,a2,s1,s2; 完全等效于: char a1[20],a2[20],s1[20],s2[20]

使用typedef语句定义数组类型

  1. 一维数组类型的定义格式
    typedef <元素类型关键字><数组类型名>[<常量表达式>];

    例如:

    (1) typedef int vector[10];

    (2) typedef char strings[80];

    (3) typedef short int array[N];

    第一条语句定义了一个元素类型为int,含有10个元素的数组类型vector,若不使用typedef保留字,则就变成了数组定义,它只定义了一个元素类型为int、含有10个元素的数组vector。这两种定义有着本质的区别,若定义的是数组vector,系统将为它分配有保存10个整数的存储单元,共40个字节的存储空间;若定义的是数组类型vector,系统只是把该类型的有关信息登记下来,待以后利用该类型定义对象时使用,具体地说,就是把vector的元素类型int,类型长度10,类型名vectoe等登记下来,待以后定义vector类型的对象时使用。

    第二条语句定义了一个元素类型为char,含有80个元素的数组类型strings,以后可以直接使用strings类型定义数组对象,每个数组对象的元素为char型,数组长度(即元素个数)为80。

    第三条语句定义了一个元素类型为short int的含有N个元素(N为已定义的符号常量)的数组类型array,以后利用它可以直接定义该类型的对象,它是一个含有N个短整型元素的数组。
    下面是利用上述类型定义对象的一些例子。
    (1) vector v1,v2;
    (2) strings s1,s2=“define type”;
    (3) array a={25,36,19,48,44,50}; //假定常量N≥6
    第一条语句定义了vector类型的两个对象v1和v2,每个对象都是vector类型的一个数组,每个数组由10个整型元素所组成。
    第二条语句定义了strings类型的三个对象s1,s2和s3,并且对s3进行了初始化,每个对象都是含有80个字符空间的数组。
    第三条语句定义了一个array类型的对象a,它是一个含有N个短整型元素的数组,该语句同时对数组a进行了初始化,使得a[0]~a[5]的元素值依次为25,36,19,48,44和50。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值