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");
把文件再写回去。
最后也要关闭文件流。
不知道你问的是不是这个意思?
建议你找一本书来系统地看一下文件部分。
可能你的意思是,怎么改变文件的存储路径。是不是这样?
如果是,那就复制可以了
2.lseek
3.write追问
能具体说说用法吗?
追答读取文件,设置偏移位置,写入文件。
追问比方说有个1.txt的文件在F盘下,怎么调用,才能修改1.txt的外存地址呢?
追答不太明白你的意思,你是要把文件在硬盘里移动吗?还是更改文件的数据?
追问更改文件的数据
以上是关于C语言里, 一个函数怎调用,另一个函数的变量(不用返回)的主要内容,如果未能解决你的问题,请参考以下文章