c语言传参到主函数 c语言函数传参数组

c语言怎么把其他文件里的内容传递给主函数在C 语言中没有办法把其他文件里的内容传递给主函数 main( ) 。因为任何一个 C 语言源程序都是从 main( ) 函数开始执行的 。所以只能够在主函数 main( ) 中,将文件里的内容传递给用户自定义的子函数才对 。例如如下 C 程序:
#include stdio.h
#define MAX 100
void main( )
{
FILE * fpr ;
char file_buffer[MAX] ;
fpr = fopen("my_textfile", "r" ) ; /* 以读方式打开 my_textfile 文本文件 */
if( fpr == NULL )
{ /* 若文件打开失败 , 则退出系统 */
printf("Can't open my_textfile for read!\n") ;
exit(1) ;
}
fgets(buffer, MAX, fpr) ; /* 从文件中读入一行数据 */
my_subfunc(buffer) ; /* 调用用户自定义的子函数 */
puts(buffer) ; /* 显示处理后的结果 */
fclose(fpr) ; /* 关闭文件 */
}
my_subfunc(char buffer[ ])
{
int i = 0;
for( i = 0 ; buffer[i] != '\0' ; i)
buffer[i]= 2;
}
C语言如何传给main函数实参例如,你编译连接后得到可执行文件名为main.exe
它的源文件如下:
#include "stdafx.h"
int main(int argc, char* argv[])
{
for (int i=0;iargc;i)
printf("%s\n",argv[i]);
【c语言传参到主函数 c语言函数传参数组】 return 0;
}
运行的时候可以这样:
在开始-运行中输入cmd,启动命令行,进入到main.exe所在的目录,这时用dir命令可以看到这个文件.如果看不到,则说明当前目录还不是可执行文件所在的目录,需要更改,用命令cd进行切换.或者设置一下环境变量.
然后,输入,main.exe this is a test for main.
如果成功的话,就会输出.
main
this
is
a
test
for
main
至于,你要将实参传给main,可以这样实现.
另外写一个控制台程序,传实参以调用刚才的可执行文件.如:
#include "stdafx.h"
#include "windows.h"
int main(int argc, char* argv[])
{
WinExec("main this is a test for main",SW_SHOWNORMAL);
return 0;
}
如上所示,这个程序就是调用main.exe,并传一个字符串给它,this is a test for main.
在命令行中直接输入相应的可执行文件就行了,不需要再传实参了.
如果在C#中,就要参考一下Process这个类了.
c语言中,带参数的主函数,如何传递参数给它?不可能按值传递c语言传参到主函数的c语言传参到主函数 , 设想一下
type
*arr
= 。。。。。
sizeof(arr)为100万c语言传参到主函数了字节c语言传参到主函数,如果按照值传递,就要创建一个临时变量temp也为100万个字节,效率岂不是太低了 。再可能arr是堆内存,参数传递是要属性相同,值相同,难道系统自行去new一段内存,这该用户去释放
还是系统自动回收呢?
麻烦c语言大神?主函数与函数间的多值传递在C语言中可以有多种方法实现主函数与函数间的多值传递的 。
最简单的,是利用实参-形参传递(当然这只能是从主函数传向函数,是单向的传递) 。
如果要实现双向的传递,可以使用全局变量、指针、数组、结构体 。
C语言关于带参的主函数主函数的实参是由操作系统传递的 。
c规定的主函数标准格式(c语言未具体规定):int
main(int
argc,
char
*argv[])
其中int
argc
表示操作系统传递给程序的参数个数 , char
*argv[]
存储各个参数 。
例如:
若有程序如下:
int
main(int
argc,
char
*argv[])
{
int
i;
printf("您输入了
%d
个参数\n分别是:",argc);
for(i=0;i
运行-
cmd
-
输入
c:\app.exe
hello
world!
回车
执行结果将是:
您输入了
3
个参数
分别是:c:\app.exe
hello
world!
"
注意,第一个参数值将是你程序的文件名 。
c语言向函数传递函数作为参数#include stdio.h
//---子函数声明---//
int func1();
int func2(int (*func1)());//形参为函数指针(即指向函数的指针)
//---主函数---//
int main(){
printf("向函数二传递函数一 , \n即函数一作为函数二的参数 。\n");
printf("%d ",func1());
printf("%d\n",func2(func1));//注意函数名即为函数地址?。。。。。?
}//实参为函数名func1或者func1,两者等价,而非func1()
//---子函数定义---//
int func1(){
return 1;
}
int func2(int (*func1)()){//形参为函数指针(即指向函数的指针)
return func1() 1;
}
c语言传参到主函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数传参数组、c语言传参到主函数的信息别忘了在本站进行查找喔 。

    推荐阅读