You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中能否以函数参数/循环变量作为数组大小声明数组(禁止使用malloc)

C语言中能否以函数参数/循环变量作为数组大小声明数组(禁止使用malloc)

嘿,我想请教个问题:能不能用变量来指定数组的大小啊?不管是在循环里面,还是在函数里声明数组的时候。

重点说明:我没办法用malloc来实现动态内存分配。

就像下面代码里写的那样,用变量作为数组大小的写法到底合不合法?会不会导致运行时的问题,比如程序崩溃、复位或者抛出异常?

我整理了两种代码场景如下:

#include <stdio.h>

typedef uint8_t Buffer_Type_1[64];

typedef uint32_t Buffer_Type_2[20];

#define NO_OF_ELEMENTS(X) (sizeof(X)/sizeof(X[0]))

#define  MAX_SCOPE 5 /*Max Values*/

备注:内容来源于stack exchange,提问作者TechTotie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:18:17