c main函数数又叫什么函数

C语言中,文件包含命令是什么意思,还有,main是主函数的函数名是什么意思,怎么理解。
刚开始学C语言,所以有些看不懂,希望大家指点一下。C语言书中涉及数学和英文是不是比较多。或者还涉及到了哪些学科知识。
包含命令是#include,意义是在文件里包含另一个文件的内容。main是程序的入口,它本身的名字就是main。C语言涉及的英文并不是很多,函数到是多一点,想要了解函数可以看看C的函数手册。
其他答案(共3个回答)
1,看来你真是初学者,对此我的建议是,你先不用理解太多,只要知道main函数是程序入口地址,也就是说每次写程序都得有一个main(),然后多多练习程序,有些概念时间久了自然会理解。有些问题,现在无论我怎么解释,你都很难理解的。所以,别问太多,多练习就好,只是每次写程序都要有一个main(),这一点先记住就好。记住,要想学好,就得多练,多写程序,刚开始不会写,可以照抄程序,然后做少量修改,改着改着,你就明白程序怎么写了。
2,关于相关信息,英文或是其他学科。
其实c语言,也只是一种工具,一种和计算机打交道的工具。就想英语,汉语一样。只是英语、汉语都是和人打交道的。而计算机听不懂这些,你得用他能理解的语言来和他沟通,这就是计算机语言。这里边是需要一点英文,但不多,我有一个没学过英文的同学(他主修俄语),照样程序写的很好。数学嘛,这个就得看你的应用方向了。
输入参数为空,返回参数为空。通常一个代码从main函数开始运行,即程序入口。
定义函数时,int a[]是整型形参数组,代表的是形参数组首地址。
注意:用数组名作函数参数时,并不进行值的传送,即不是把实参数组的每一个元素的值都赋予形参数组...
Main()方法返回的类型可以是void(无返回值)或int(返回代表应用程序错误级别的整数)。
main()的返回值是给操作系统的。
其中stdio.h为头文件!
解:∵函数f(x)定义域为[-1,2)
∴-1≤|x|&2
解得:2&x&2
即f|x|的定义域为(-2,2)
答: bpd+hc+ac fl男女可以看出来吗?是通过哪些数值看出来的啊?
答: 如果你理解能力强考数据库,其中比如关系数据库之类的需要去领悟
如果你记忆能力强考网络,各种各样的名词,背下来就得分。
还有官方指定的教材要有,上机最好做一做南开...
答: 新年好!首先,你必须了解计算机的组成和结构以及操作系统的运作原理,这是基础
如果你想学习开发多线程、WINDOWS应用、动态链接库、WINDOWS组件的话,建议...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415main函数,最全面的main函数文章 - 电子工程世界网
在电子工程世界为您找到如下关于“main函数”的新闻
main函数资料下载
语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。
printf(&c语言世界www.souho.net,您好!\n&);
  main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数...
10.7.2 指向指针的指针 164
10.7.3 main 函数的参数 166
10.8 有关指针的数据类型和指针运算的小结 167
10.8.1 有关指针的数据类型的小结 167
10.8.2 指针运算的小结 167
10.8.3 void 指针类型 168
11 结构体与共用体
11.1 定义一个结构的一般形式 170
11.2 结构类型变量的说明...
  第一个TYPE&RUN 12
  第2天课程 C语言程序的组成部分 14
  2.1 一个简短的C语言程序 14
  2.2 程序的组成部分 15
  2.2.1 main( )函数(第8~23行) 15
  2.2.2 #include编译指令(第2行) 15
  2.2.3 变量定义(第4行) 15
  2.2.4 函数原型(第6行) 16...
1.8.2 练习  10 10
TYPE&RUN1 打印程序清单  12 12
第一个TYPE&RUN  12 12
第2天课程 C语言程序的组成部分  14 14
2.1 一个简短的C语言程序  14 14
2.2 程序的组成部分  15 15
2.2.1 main( )函数(第8~23行) 15 15
2.2.2 #include...
你的demo设计3.2、子函数说明:(私有函数,不能调用)void i2c_start(void) //送起始位void i2c_stop(void) //送停止位void i2c_ack_main(bit ack_main) //主应答说明:ack_main=1:ack主应答;ack_main=0:no_ack无需应答void send_byte(uchar c) //发送单个字节uchar...
1.1.1 编辑 1
1.1.2 编译 2
1.1.3 链接 2
1.1.4 执行 3
1.2 创建第一个程序 4
1.3 编辑第一个程序 4
1.4 处理错误 5
1.5 剖析一个简单的程序 6
1.5.1 注释 6
1.5.2 预处理指令 7
1.5.3 定义main()函数 7
1.5.4 关键字 8
1.5.5 函数体...
9.3.2 赋值调用与引用调用 111
9.4 递归 111
9.5 实现问题 112
9.5.1 参数和通用函数 113
9.5.2 效率 113
9.6 函数库和文件 113
9.6.1 程序文件的大小 114
9.6.2 分类组织文件 114
9.6.3 函数库 115
9.7 main()函数的参数 116
9.8 媒体播放器——建立核心控制模块 117...
了一次,但编译器提示非法重声明了。
1.26 main的正确定义是什么?void main正确吗?
1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。这是为什么?
1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是为什么?
1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]?
命名空间...
main函数的参数 166
10.8 有关指针的数据类型和指针运算的小结 167
10.8.1 有关指针的数据类型的小结 167
10.8.2 指针运算的小结 167
10.8.3 void指针类型 168
11 结构体与共用体
11.1 定义一个结构的一般形式 170
11.2 结构类型变量的说明 172
11.3 结构变量成员的表示方法...
的指针 164
   10.7.3 main函数的参数 166
   10.8 有关指针的数据类型和指针运算的小结 167
   10.8.1 有关指针的数据类型的小结 167
   10.8.2 指针运算的小结 167
   10.8.3 void指针类型 168
   11 结构体与共用体
   11.1 定义一个结构的一般形式 170...
main函数相关帖子
; & mDelaymS(100);& &
& & }而查询函数如下:
[C] 纯文本查看 复制代码/*******************************************************************************
* Function Name&&nbsp...
单片机源程序如下:
//接收函数,收到数据后,通过串口显示,串口拨特率设置9600#include &msp430x14x.h&#include &stdio.h&#include &common.h&#include &nrf2401.h&#include &key.h&#include &quot...
LCD_Clear()//清屏
for (index = 0; index & 12; ++index)
&&LCDMEM[index] = 0;
int main()
WDTCTL = WDTPW | WDTHOLD;//关闭看门狗
Init_TS3A5017DR...
在BSP_AUDIO_OUT_TransferComplete_CallBack和BSP_AUDIO_OUT_HalfTransfer_CallBack中断函数里循环填充正弦数据到输出缓冲区
[C] 纯文本查看 复制代码void BSP_AUDIO_OUT_TransferComplete_CallBack(void)
&&//将sinWave数据填充到DAC输出缓冲...
HAL_Delay(10);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);
HAL_Delay(10);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
HAL_Delay(10);
其它不变。在main函数头文件增加:
#include &quot...
;******************************************************************************
&&* @file& & ADC/ADC_DMA_Transfer/Src/main.c
&&* @author&&MCD Application Team
&&& & & & }while(0);& & & & & & & &
实现显示效果的主函数为:[C] 纯文本查看 复制代码void main( )
& &&nbsp...
本帖最后由 Aguilera 于
10:53 编辑
看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用示例代码:用看门狗定时器使一个led闪烁#include &msp430x14x.h&void&&main( void ){&&// Stop watchdog timer...
在那儿空运行几百毫米,什么也不做,真是莫大的浪费,尤其在芯片频率较高,任务又很多时,这样做就像在平坦宽阔的高速公路上挖了一大坑,出现事故可想而知。但一个单片机中的定时器毕竟有限,如果我需要几十个或者更多不同时间的定时中断,每一个时间到都完成不同的处理动作,如何去做呢。一般我们会想到在一个定时中断函数中再定义static 变量继续定时,到了所需时间,做不同的动作。而这样又会导致在一个中断里做了很多不...
寄存器的设置,更改现在需要的值,写入相应寄存器即可。到此,程序部分完成,需要扩展,可以自行添加。使用说明:使用时,只需加入AD7708.c,文件包含AD7708.h,然后就可以正常使用本程序提供的函数;具体可以参考示例工程和其中的main.c文件。void main(){& & // Stop watchdog timer to prevent time out...
main函数视频
你可能感兴趣的标签
热门资源推荐嵌入式--main函数是一个什么样的函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
嵌入式--main函数是一个什么样的函数
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢main函数执行前后 《程序员的自我修养》·笔记 - 简书
main函数执行前后 《程序员的自我修养》·笔记
【前言】main函数执行前后的宏观过程(C++)
linux系统下压板程序的入口是"_start",这个函数是linux系统库(Glibc)的一部分,当我们的程序和Glibc链接在一起形成最终的可执行文件的之后,这个函数就是程序执行初始化的入口函数。
程序初始化部分完成一系列初始化过程之后,会调用main函数来执行程序的主体。在main函数执行完成以后,再返回到初始化部分,进行一些清理工作,然后结束进程。
对C++而言:(ELF文件为其定义了两个特殊的段)
.init 该段保存的是可执行的命令,它构成了进程的初始化代码。因此,当一个程序开始运行的时候,在main函数被调用之前,Glibc的初始化部分安排执行这个段中的代码
.fini 该段保存着进程终止命令代码。因此,当一个程序的main函数正常退出的时候,Glibc会安排执行这个段中的代码。
这两个段的存在有特别的目的,如果一个函数放到.init段,在mai函数执行前系统就会执行它(就是因为它在这个段)。同理,如果一个函数放到.fini段,在main函数返回后该函数就会被执行。利用这两个特性,C++实现了全局构造和析构函数。
一个典型程序的大致运行步骤
操作系统创建进程后,把控制权交到了程序入口,这个入口往往是程序运行库中的某个入口函数。
入口函数对运行库和程序运行环境进行初始化,包括堆、I/O、线程、全局变量的构造等等。
入口函数在完成初始化之后,调用main函数,正式开始执行函数主体部分。
main函数执行完毕之后,返回到入口函数,入口函数进行清理工作,包括全局变量析构、堆销毁、关闭I/O等,然后进行系统调用结束进程。
入口函数的实现
Glibc的入口函数
_start函数
该入口是由ld链接器默认的链接脚本指定的,当然用户也可以通过参数进行设定。_start由汇编代码实现。大致用如下伪代码表示:
void _start()
  %ebp = 0;
  int argc = pop from stack
  char ** argv =
  __libc_start_main(main, argc, argv, __libc_csu_init, __linc_csu_fini,
  edx, top of stack);
具体过程可以参见下图:
在调用_start之前,装载器就会将用户的参数和环境变量压入栈中,如图所示,栈顶元素是argc,接着就是argv和环境变量的数组。
其中argv除了指向参数表外,还隐含紧接着环境变量表。这个环境变量表要在__libc_start_main里从argv内提取出来。
实际执行代码的是__libc_start_main。
__libc_start_main函数
函数头int __libc_start_main(
int (*main)(int, char **, char *),
char * __unbounded *__unbounded ubp_av,
__typeof(main) init,
void (*fini)(void),
void (*rtld_fini)(void),
viud *__unbounded stack_end)
可以啊看出,一共有7个参数,其中main由第一个参数传入,紧接着就是argc和argv(这里叫做ubp_av,应为其中还包括了环境变量表)。此外的3个函数指针:(1)init:main调用之前的初始化工作;(2)fini:main结束之后的收尾工作;(3)rtld_fini:和动态加载有关的收尾工作。最后的stack_end标明了栈底的位置,即最高的栈地址。
__libc_start_main代码中的一个特殊的宏(宏INIT_ARGV_and_ENVIRON)宏展开之后如下:char **ubp_rv = &ubp_av[argc+1];__environ = ubo___libc_stack_end = stack_
上述代码实际上就是从_start源代码分析得到的栈布局,重点是让_environ指针指向紧跟子啊argv数组后面的环境变量数组。如下图:
__libc_start_main代码中的一系列重要的函数__pthread_initialize_minimal();
__cxa_atexit(rtld_fini, NULL, NULL);
__libc_init_first(argc, argv, __environ);
__cxa_atexit(fini, NULL, NULL);
(*init)(argc, argv, __environ);
__cxa_atexit函数是glibc的内部函数,等同于atexit,在main之后调用。
所以可以看出,参数传入的fini和rtld_fini均是用于main结束之后调用的。在__libc_start_main末尾,关键是如下两行的代码:result = main(argc, argv, _environ);exit(result);main函数最终被调用,并退出。【补充】程序正常结束有两种情况:main函数正常返回;程序中exit()退出。但是在__libc_start_main中可以看出,即使main正常返回了,exit还是会被调用。所以说exit()是程序退出的必经之路。欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 1575 人关注过本帖
标题:自定义函数要放在前面还是后面呢?声明部分我放在main函数后面也行,可有人说 ...
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
结帖率:91.67%
&&已结贴√
&&问题点数:10&&回复次数:9&&&
自定义函数要放在前面还是后面呢?声明部分我放在main函数后面也行,可有人说不行
#include&stdio.h&
int main()
&&& void action1(int,int),action2(int,int);&&&//自定义函数要先声明
&&& int a=15,b=23;
&&& ch=getchar();
&&& switch(ch)
&&&&&&&&case'a':
&&&&&&&&case'A':action1(a,b);&&&&&&&&//调用action1函数,执行A操作
&&&&&&&&case'b':
&&&&&&&&case'B':action2(a,b);&&&&&&&&//调用action2函数,执行B操作
&&&&&&&&default:putchar('\a');&&&&&&&&&&&&//如果输入其他字符,发出警告
&&&&&&&&&&&&return 0;
void action1(int x,int y)&&&&&&&&&&&&//执行加法函数
&&&&&&&&printf(&x+y=%d\n&,x+y);
void action2(int x,int y)&&&&&&&&&&&&//执行乘法函数
&&&&&&&&printf(&x*y=%d\n&,x*y);
搜索更多相关主题的帖子:
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
我输入多个字符也可以运行,比如输入输入ABC,则按A函数指令,能不能设置为输入多个字符转入default发出警报呢?
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
等 级:侠之大者
帖 子:156
专家分:433
声明放在main函数前,是必须的除非不用,不信把第五行注释掉。立马不能编译了
我是硬件工程师
来 自:郑州
等 级:黑侠
帖 子:148
专家分:617
其他函数放在主函数前面就不需要声明了,放在主函数后面是需要声明的。
来 自:桃花岛
等 级:版主
威 望:21
帖 子:1092
专家分:4125
既然这样你可以把自定义函数放在前面,
在引用自定义函数时,前面必须要有它的定义.
写在main函数里与外面无所谓
一万年太久,只争朝夕
等 级:侠之大者
帖 子:156
专家分:433
#include&stdio.h&
int main()
&&& void action1(int,int),action2(int,int);&&&//自定义函数要先声明
&&& char ch,ch1;
&&& int a=15,b=23;
&&& ch=getchar() ;&&&&&&&&&&&&&&&&&&////////////////////增加一个变量ch1
&&&&&ch1=getchar() ;
&&&&&&if(ch1=='\n')&&&&&&&&&&&///////////////第二个字符如果不是回车就else报警
&&& switch(ch)
&&&&&&&&case'a':
&&&&&&&&case'A':action1(a,b);&&&&&&&&//调用action1函数,执行A操作
&&&&&&&&case'b':
&&&&&&&&case'B':action2(a,b);&&&&&&&&//调用action2函数,执行B操作
&&&&&&&&default:putchar('\a');&&&&&&&&&&&&//如果输入其他字符,发出警告
&&&&&&&&&&&&return 0;
&else putchar('\a');
void action1(int x,int y)&&&&&&&&&&&&//执行加法函数
&&&&&&&&printf(&x+y=%d\n&,x+y);
void action2(int x,int y)&&&&&&&&&&&&//执行乘法函数
&&&&&&&&printf(&x*y=%d\n&,x*y);
我是硬件工程师
来 自:长长久久
等 级:贵宾
威 望:22
帖 子:3735
专家分:10580
调用函数可以在main之前定义,也可以在mian里面定义~但不能在调用函数里面嵌套定义~
[code]/*~最近喜欢吃瓜和睡觉~更~*/[/code]
等 级:论坛游民
帖 子:31
专家分:29
&&& void action1(int,int),action2(int,int);
&&&改成&&void action1(int,int);
&&&&&&&&&void action2(int,int);
等 级:论坛游民
帖 子:31
专家分:29
回复 2楼 C初见
就算输入一个字符串,若是用 getchar()只能每次读入一个字符
版权所有,并保留所有权利。
Powered by , Processed in 0.058836 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 main函数参数是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信