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
相关产品推荐
相关产品推荐

