相关疑难解决方法(0)

如何使用extern在源文件之间共享变量?

我知道C中的全局变量有时会有extern关键字.什么是extern变量?宣言是什么样的?它的范围是什么?

这与跨源文件共享变量有关,但这是如何工作的?我在哪里用extern

c global-variables extern

942
推荐指数
13
解决办法
67万
查看次数

C中主要变量的范围

考虑一下代码:

#include <stdio.h>

int x;

int main (void) 
{ }
Run Code Online (Sandbox Code Playgroud)

的价值x0里面main.但那是为什么呢?我没有宣布它static.或者假设static它在函数之外?

如果上述情况属实,它是如何与它不同的extern

c variables

15
推荐指数
2
解决办法
2万
查看次数

多个源文件中共享的全局静态变量

在学习C/C++ 中的externstatic变量时,我遇到了这个答案

也许我遗漏了一些要点,但这个答案引起了我对我的代码的怀疑。

假设我有以下文件:

  • 头文件.h
static int global_foo = -1;

void doSomething(void);
Run Code Online (Sandbox Code Playgroud)
  • 源1.c
#include "header.h"

void doSomething(void) {
  global_foo = 1;
}
Run Code Online (Sandbox Code Playgroud)
  • 主程序
#include "header.h"

int main(void) {
  doSomething();
  printf("%d\n", global_foo);
}
Run Code Online (Sandbox Code Playgroud)

main函数中printf的输出到底是什么?我的解释是,由于global_foo被包含两次,因此将有两个不同的global_foo,因此这样的一个更改只会影响global_foo其所属文件的 。

c static extern

0
推荐指数
1
解决办法
1089
查看次数

标签 统计

c ×3

extern ×2

global-variables ×1

static ×1

variables ×1