前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C/C++黑魔法-匿名数组

C/C++黑魔法-匿名数组

作者头像
Qt君
发布2019-08-06 11:03:58
7830
发布2019-08-06 11:03:58
举报
文章被收录于专栏:跟Qt君学编程

匿名数组是什么?有什么用?怎么用?一探究竟来自内心深处的敲问!

1.是什么?

  • 匿名数组顾名思义是隐藏(没有)名字的数组。

常规的整型数组:

代码语言:javascript
复制
int array[] = {1, 2, 3};

它等价于以下的匿名数组:

代码语言:javascript
复制
(int[]){1, 2, 3}

2.有什么用?

  • 匿名数组可以直接当作参数传递,可以不使用临时变量存储。

如:

代码语言:javascript
复制
int sum(int array[3])
{
    return array[0] + array[1] + array[2];
}

使用常规数组传递参数:

代码语言:javascript
复制
int array[] = {1, 2, 3};
int result = sum(array);

使用匿名数组传递参数:

代码语言:javascript
复制
int result = sum((int[]){1, 2, 3});

3.怎么用?

  • 匿名数组和常规数组一样的语法,只是数组名字被省略了。
  • 上面的array数组的类型是int [],而匿名数组的类型也是int []
  • 匿名数组的初始化使用{...}和array数组初始化一样。
  • 取匿名数组的下标:
代码语言:javascript
复制
(int []){1, 2, 3}[0] == 1
(int []){1, 2, 3}[1] == 2
(int []){1, 2, 3}[2] == 3

注意

  • C99语法支持匿名数组。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.是什么?
  • 2.有什么用?
  • 3.怎么用?
  • 注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档