C语言里, 一个函数怎调用,另一个函数的变量(不用返回)

Posted

tags:

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

已经有人给你那么多方法了。。。我还是建议不要用extern去使全局变量,也不要把变量定义在头文件,然后用include把变量包含进其它源文件使用,不要这样做!这是菜鸟的做法!
正确的做法是这样的,你把变量定义在相应的源文件中,定义成全局的,然后写一个接口去读取,充分利用封装的思想!我举个例子哈:
加入你的变量名是
A,定义在abc.c中。。。
这时候你的正确做法是
在abc.c中写一个函数,命名为
int
GetAValue(void)

return
A;

这才是大神的做法!这样的话如果是在同一个源文件中,可以直接访问全局变量达到目的。如果是在不同的源文件的其它函数,就调用你写好的
GetAValue()函数去读取!
参考技术A 像你这个写法是不可能调用的到的
a在函数A里定义,且定义的是局部变量,函数b中不可能直接调用,除非在函数A中调用函数B
然后把a作为参数传递到函数B中。
望采纳。
参考技术B 不能的说,除非这个函数中引用另一个函数,否则函数内的变量只对自身有效,函数对外的接口是他的返回值

C语言怎改变文件外存地址里的数字?

把文件读出来,
在内存中把数字改了。
把原文件删除。
重新写进硬盘。
这是更改硬盘文件的一种方法。
如果你是问外存地址怎么改。那是改不了的。因为文件的读写是编译器通过调用操作系统的api来完成的。追问

嗯嗯,具体要用什么关键词呢?怎么用?

追答

首先要 fopen 打开文件流:FILE * filePoint = fopen("filename", "r");其中filename为文件名。r的意思是只读。
然后用fread或者fwrite把文件读进内存。
把要改的数字改了。
此时文件内容已经全部在内存中了。
再:关闭文件流。
再:FILE * filePoint = fopen("filename", "w");
把文件再写回去。
最后也要关闭文件流。
不知道你问的是不是这个意思?
建议你找一本书来系统地看一下文件部分。

可能你的意思是,怎么改变文件的存储路径。是不是这样?
如果是,那就复制可以了

参考技术A 1.read
2.lseek
3.write追问

能具体说说用法吗?

追答

读取文件,设置偏移位置,写入文件。

追问

比方说有个1.txt的文件在F盘下,怎么调用,才能修改1.txt的外存地址呢?

追答

不太明白你的意思,你是要把文件在硬盘里移动吗?还是更改文件的数据?

追问

更改文件的数据

以上是关于C语言里, 一个函数怎调用,另一个函数的变量(不用返回)的主要内容,如果未能解决你的问题,请参考以下文章

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

C程序怎样调用其它文件里的函数?

C语言学习_C如何在一个文件里调用另一个源文件中的函数

怎么在JS文件的函数里再调用另一个JS文件中的函数

怎么在JS文件的函数里再调用另一个JS文件中的函数

在同一个C语言程序项目中,其它.c文件可以访问另一个.c文件中的静态变量吗?