c语言 如何调用另一函数变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 如何调用另一函数变量相关的知识,希望对你有一定的参考价值。

main()中的extem
a;改为extem
int
a;
extem用于将用于将其他源文件的函数或变量的作用范围扩大到整个程序。在定义是不需要,只有在应用前用申明语句申明即可,如extern
void
print(int
n);
你也没说哪不懂,只能回答这么多了,希望对你有帮助
参考技术A 1.你可以把
temp
定义为全局变量,不要放在函数内
int
temp
main()

.............

void
NEED(void)

...
d=temp;

2.改变你的void
NEED(void)接口
void
NEED(int
*p)

......
d=*p;

main()

........
NEED(&temp);
参考技术B 不能的说,除非这个函数中引用另一个函数,否则函数内的变量只对自身有效,函数对外的接口是他的返回值

C语言中函数是如何存储的

事情是这样的。。最近在看 函数指针 。。那其中说 此指针 指向的是函数 的 入口地址 ???那就突然想问了。。那函数在内存中是如何存储的??有入口地址,那也有出口地址吗?希望给出解释。。谢谢啊 (只要回复说出自己的见解,都会有鱼币的哦,最多3次。。)

1. 代码本身是存储在内存的代码段中的,而函数没有说存储的概念,函数调用时是通过栈来实现的。
2.在函数体内声明的变量在默认情况下都是auto存储类型
在代码块之间传递信息的一种方法就是使用外部变量。当一个变量在函数的外部被声明时,安的存储空间是永久分配的,安人存储类型是extren.外部变量的声明看上去和函数或代码块内部所声明的变量一样。外部变量对于它之后的所有函数都有效。在代码块或函数后,外部变量仍然存在。
3.static的基本用途是允许一个局部变量在重新进入代码块时能够保持原来的值。这和自动变量形成了鲜明的对比,自动变量在代码块时会被销毁,再次进入这个代码块时,它必须重新进行初始化。
4.egister存储类型告诉编译器相关的变量应该改量存储在高速度的寄存器中。使用register存储类型的目的一般是为了提高执行速度,但是,register声明只是向编译器所提出的“建议”,并非强制要求。
参考技术A 建议看看小甲鱼的win32汇编,或者看看天书夜读这本书也行,操作系统里面专门讲了这一章,每个函数调用都是跟内存栈相关的,只要能看懂内存栈,上面的就能明白了,说起来是肯定不是一句话两句话能说明白的 参考技术B 代码本身是存储在内存的代码段中的,而函数没有说存储的概念,函数调用时是通过栈来实现的。 参考技术C 了解一下, 参考技术D 表示我也是进来了解的

以上是关于c语言 如何调用另一函数变量的主要内容,如果未能解决你的问题,请参考以下文章

如何通过调用函数交换两个变量的值及常见误区

c语言如何通过函数来改变已经赋初值的全局变量的值?

C语言中如何定义全局变量

c语言如何检测函数第一次的值

C++工程中如何在一个文件中调用另一个文件中的变量

c语言中结构体变量做函数参数的问题