Unix下可以用变量定义数组大小?

今天看到一段其他同事写的代码,顿时就感到菊花紧了一下。

int i = strlen(str);
char buf[i];

这两行代码,在windows下肯定是编译不通过的,原因大家应该懂的。

但是在solaris下居然就通过了,而且一点告警也没有啊。

就是因为没这样用过,前两天被一MM问之:你知道数组和malloc哪个效率高吗?

这还用问吗,当然是数组了。可是当哥看到这两行代码之后,心中千万只草泥马在奔腾啊,这不是在问,这是在考哥呀,被一妹子鄙视了呀。

从windows转到unix在这就栽了一跟头啊。

有木有高人能讲讲为啥unix就允许这样定义呢?


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值