gpt4 book ai didi

c++ - 仅将内存分配给静态变量一次

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:13 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Definition of global variables using a non constant initializer

我有这个代码:

#include <stdio.h>
#include <stdlib.h>


int foo (int num, int i)
{
static int* array = malloc(sizeof(int)); // ERROR HERE!!!
printf("%d", array[i]);
return 0;
}



int main(int argc, char *argv[])
{
int i;
for (i = 0; i < 2; i++) {
foo(i, i);
}

return 0;
}

我将代码保存为c源文件,我不能工作? 错误提示:

gcc -O2 -Wall test.c -lm -o test
test.c:4:1: error: initializer element is not constant

Compilation exited abnormally with code 1 at Sat Jan 05 21:33:56

但是,我将它保存为 C++ 源文件,它工作正常。为什么?有没有人可以给我解释一下?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com