如何在“C”中的任何函数内声明全局变量?

Vas*_*K N 1 c arrays variables scope global

我想在 main() 函数中声明一个全局变量...

下面是我想要的程序的行为

#include<stdio.h>
int a[6];
int main()
{
  int n;
  scanf("%d",&n);
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个用户给定大小(此处为 n 大小)的数组,并且我想全局访问该数组。因此,我不想在 main() 函数之外创建大小为“6”的数组,而是想全局创建“n”大小的数组,而不是在调用函数时传递数组...

Mik*_*CAT 5

您可以将指针声明为全局变量并为其分配缓冲区main()

#include<stdio.h>
#include<stdlib.h>
int *a;
int main()
{
  int n;
  scanf("%d",&n);
  a = calloc(n, sizeof(*a)); /* calloc() initializes the allocated buffer to zero */
  if (a == NULL)
  {
    /* calloc() failed, handle error (print error message, exit program, etc.) */
  }
}
Run Code Online (Sandbox Code Playgroud)