我需要在 C 中声明一个全局二维数组。
数组的大小由给定图片的宽度和高度决定。
所以我首先要加载图片,然后才创建数组。但是如果我想要一个变量(在本例中是我的数组)是全局的,我必须在文件顶部而不是在函数内部声明它。
那么当我在执行 main() 函数后才知道数组的大小时,如何将数组声明为全局数组?
编辑: (我也尝试过其他解决方案,所以这个评论指的是所有这些)@Mimisbrunnr 首先,感谢您的快速回复!
我已经尝试过,但我看不出它是否有效。我可能遗漏了一些愚蠢的东西,但是“数组”如何成为全局性的?它在 test() 上说“数组”未声明
int *缓冲区;
诠释主要(){
诠释我;
int x_size=100;
int y_size=100;
int * buffer = malloc(sizeof(int)*x_size*y_size);
int ** array = malloc(sizeof(int*)*y_size);
for(i = 0; i
最佳答案
创建一个全局指针,然后将空间分配给它。
char * buffer;
int main(void) {
buffer = malloc( /* Width * Height */ );
}
关于c - 在 C 函数中声明全局变量(数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792235/