相关疑难解决方法(0)

如果两个在C中具有相同的名称而不使用第三个变量,如何将局部变量复制到全局变量?

我有一个全局变量和一个具有相同名称的局部变量.我可以将局部变量复制到全局变量(assign),而无需先将全局变量的值分配给某个临时变量(使用extern),然后将临时变量分配给全局变量吗?我需要做这样的事情:

#include<stdio.h>
int myVariable = 50;
void myFunction()
{
    int myVariable;
    myVariable /*global*/ = myVariable /*local*/;
}
Run Code Online (Sandbox Code Playgroud)

在C中是否有某种方法可以做到这一点(不使用临时变量(或数组中的指针))?我发现在C++,Java或C#中可以使用像这样的关键字,super,base等,但在C中找不到解决方案.

我已经提到过如何在C中访问带阴影的全局变量?

c

6
推荐指数
2
解决办法
1187
查看次数

访问被本地隐藏的全局变量

可能的重复:
如何在 C 中访问隐藏的全局变量?

如果有同名的局部变量,如何访问 C 中的全局变量?

     int m=20 ;  
     void main()  
     {  
       int m=30;  
     }   
Run Code Online (Sandbox Code Playgroud)

c

4
推荐指数
1
解决办法
1549
查看次数

C语言中是否有范围解析运算符?

我正在阅读一本关于C语言的书('掌握C'),并::此处找到了有关范围解析运算符()的主题,请参阅第203页的Google Books .

但是当我运行以下代码示例(从本书中复制)时,C编译器给了我一个错误.我在互联网上搜索但我无法在C中找到任何对范围解析运算符的引用.

#include <stdio.h>
int a = 50;
int main(void)
{
    int a =10;  
    printf("%d",a);
    printf("%d\n", ::a);        
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我想访问一个全局变量,那我怎么能从main()函数中做到这一点呢?

c scope-resolution

4
推荐指数
3
解决办法
8310
查看次数

我如何在C中访问隐藏变量

可能重复:
如何在C中访问带阴影的全局变量?

在C++中,我可以使用::operator来指定全局变量.例如:

using namespace std;
int foo = 10;
int main(){
     int foo = 5;
     cout<<" Global variable: "<< ::foo <<endl;
     cout<<" Local Variable: " << foo <<endl;
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在C中这样做?

c scope

2
推荐指数
1
解决办法
1230
查看次数

理解全局变量的概念

如果我们有一个全局定义的变量"x"和一个函数内具有相同名称"x"的另一个变量.当我们打印"x"的值为什么我们总是得到函数内部赋值的值?我们有什么方法可以打印全局变量值.

int x=8;
void testCode()
{
    int x=2;
    printf("%d",x); //prints 2
}
Run Code Online (Sandbox Code Playgroud)

c

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

与C中的全局变量和本地变量相同

我得到了答案i = 2.但我的问题是i = 0发生了什么?根据我的理解,i = 0将在DATA SEGMENT中I = 2将在STACK SEGMENT中

#include <stdio.h>
int i = 0;
void main()
{
    int i = 2;
    printf("i value is %d\n",i);`
}
Run Code Online (Sandbox Code Playgroud)

c

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

标签 统计

c ×6

scope ×1

scope-resolution ×1