gpt4 book ai didi

c - 外部代码不起作用

转载 作者:行者123 更新时间:2023-11-30 15:54:24 25 4
gpt4 key购买 nike

为什么下面的代码不起作用?请解释一下。

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

int main(int number, char arg[])
{
extern int i;
i = 5;
printf("%d",i);
return 0;
}
<小时/>
#include<stdio.h>
#include<stdlib.h>

int main(int number, char arg[])
{
extern int i;
i = (int) malloc(sizeof(int));
i = 5;
printf("%d",i);
return 0;
}

最佳答案

extern 用于指定变量存在,但尚未定义。您不创建变量,仅向编译器指定它存在。如果没有,您将在链接时出错。

我建议您阅读更多有关extern keyword的信息

一个简单的使用示例是两个 .c 文件,一个将您的 extern 变量设置为全局变量,另一个打印此变量

文件.c

int value = 5;

main.c

int main() {
extern int value;

printf("%i\n", value);
return 0;
}

使用gcc file.c main.c编译此文件将输出5

关于c - 外部代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998900/

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