首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言 main 函数到底怎么

各位,C语言main函数大家都再熟悉不过了,这是你学习C语言首先就要学习东西,但是我看过很多人代码包括我们一些读者在main函数写法方面版本很多,今天就跟大家聊一聊main函数到底应该怎么问题...其实这种写法使用现在编译器编译时会警告,但查了一下在C89标准中可以,而且由于函数没有显式声明返回类型那么编译器会将返回值默认为int缘故,其返回值也为int。...我一直比较好奇这种样式怎么来,main函数返回值要作为程序退出状态,声明为void在程序退出后,退出情况就不得而知了。...查了C89/C99/C11相关文档,都没有提到任何这种写法痕迹,我见过最多写法就是这种,不清楚为什么有这么多初学者这么。严格来说返回值为void不正确。...当然如果你使用其他写法,不同编译器产生结果未定义,但可以肯定常规编译器对于以上两种标准写法肯定是比较支持

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

为什么c语言最好入门语言

弄得很多做了很多年嵌入式老工程师喊着别学c语言,招的人太少了,抓紧学习app开发吧。这架势弄得很多小白都觉得用c语言作为入门语言一种错误选择,难道c语言真的过时了嘛?...c语言相比较java,c#,php,python等之类语言显得有点过时感觉。但是c语言本身附属影响力以及历史地位都是值得初学者以c语言作为初级入门语言,选择c语言作为入门语言几种理由。...image.png (1).对于想从事嵌入式底层开发以及对开源操作系统特别是linux感兴趣小伙伴,学好c语言必须具备功课,底层操作系统实现语言基于c语言或者汇编,绝大部分还是c语言。...对于有志于了解整个计算机系统架构或者做架构师小伙伴,c语言必须要深刻掌握语言。...(3).如果具备了c语言基础再去学习更加高级语言,对于高级语言系列编程绝对个利好。

1.6K110

C语言这么厉害,它自身又是用什么语言

这是来自我星球一个提问:“C语言本身用什么语言?” 换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言编译器从哪里来? 用什么语言来写?...如果C语言本身来写,到底先有蛋还是先有鸡? 1 我们假设世界上不存在任何编译器, 先从机器语言说起,看看怎么办。 机器语言可以直接被CPU执行,不需要编译器。...汇编语言问题解决了,就往前迈进了一大步,这时候就可以用汇编语言C语言编译器,我们说这是C编译器老祖宗。 有了这个老祖宗,就可以编译任意C语言程序了,那是不是可以用C语言本身一个编译器?...OK, 这么一层层上来,终于得到了一个用C语言编译器, 真是够麻烦。 到这个时候,之前那个汇编写C语言编译器就可以抛弃了。...那C1这个语言编译器由谁来写? 自然C0。 等到C1可以工作了,再次扩展语言特性,用C1编译器,得到C2。 然后C3, C4...... 最后得到完整C语言

2K20

C语言这么厉害,它自身又是用什么语言

C语言本身用什么语言?” 换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言编译器从哪里来? 用什么语言来写?如果C语言本身来写,到底先有蛋还是先有鸡?...汇编语言问题解决了,就往前迈进了一大步,这时候就可以用汇编语言C语言编译器,我们说这是C编译器老祖宗。 有了这个老祖宗,就可以编译任意C语言程序了,那是不是可以用C语言本身一个编译器?...OK, 这么一层层上来,终于得到了一个用C语言编译器, 真是够麻烦。 到这个时候,之前那个汇编写C语言编译器就可以抛弃了。...后来Thompson 本人解开了秘密,第一个C 语言编译器有问题, 这个编译器在编译Unix源码时候,当然会植入后门, 这还不够,更牛,如果你用C 语言写了一个新编译器,肯定也需要编译成二进制代码啊...那C1这个语言编译器由谁来写? 自然C0。 等到C1可以工作了,再次扩展语言特性,用C1编译器,得到C2。 然后C3, C4...... 最后得到完整C语言

1.9K30

听说C语言高手都用txt代码?

坊间传闻高手都喜欢用记事本代码,那么问题来了,我们以C语言为例,如何用记事本编译运行呢?...其实最简单方式就是安装GCC编译器,在记事本编写C语言程序,然后再在命令行用GCC编译运行,下面我简单介绍一下实现过程,感兴趣朋友可以尝试一下: 安装GCC编译器 这里推荐直接安装MinGW,一个集成编译调试工具...,集成了常见GCC、G++、GDB等命令,可以轻松编译运行C语言程序。...下载的话,直接到官网上下载即可,一个exe文件,直接双击安装就行,安装后主目录如下,这里需要将bin目录添加到环境变量中,后面在cmd窗口就可以直接使用GCC命令编译C语言程序: 打开cmd窗口,输入...exe程序,可以直接运行: 至此,我们就完成了记事本C语言程序编译和运行。

2.5K2218

操作系统内核都是用C语言

1.从语言特点来说 ①C语言有出色可移植性,能在多种不同体系结构软/硬平台上运行。...②简洁紧凑,使用灵活语法机制,并能直接访问硬件能够直接访问硬件语言有:汇编和 C语言 汇编属于低级语言,难以完成一些复杂功能,但是汇编比C语言访问硬件效率更高。...所以,一般将硬件初始化工作交给汇编,比较复杂操作交给C语言。 ③C语言具有很高运行效率。...2.嵌入式开发中地位——开发工具 3.高级语言低级语言:面向过程VS面向对象 面向过程: “面向过程”(Procedure Oriented)一种以过程为中心编程思想。...最后,C语言也有他自身缺陷,比如代码复用性差,代码维护性差,扩展性(新增代码时不改变原来代码)很差。

1.4K2219

C语言main函数到底该怎么

前言 main函数程序执行自定义第一个函数。从开始学习C语言到现在,我们似乎看到了很多个版本main函数,那么哪一种才是正确呢?我们先来看看目前有哪些版本。...main函数版本 第一种,没有返回值,没有入参: main() 在C89标准中,这种写法可以接受,但使用现在编译器编译时,会报告警,并且会将其返回值默认为int。...真相大白 C89/C99/C11标准文档中只提供了两种main函数写法: int main(void) { /* ... */ } int main(int argc, char *argv[])...{ /* ... */ } 也就是说,其他写法都是不符合标准,有的历史遗留问题,有的编译器扩展,更有的不知从何而来。...总结 至此,我们已经知道了c语言main函数写法,我们来总结一下前面的内容: C标准只提供了两种main形式,即前面提到第三种和第五种。 为了代码通用可移植性,建议采用标准提供形式。

1.4K20

操作系统内核都是用C语言

1.从语言特点来说 ①C语言有出色可移植性,能在多种不同体系结构软/硬平台上运行。...②简洁紧凑,使用灵活语法机制,并能直接访问硬件能够直接访问硬件语言有:汇编和 C语言 汇编属于低级语言,难以完成一些复杂功能,但是汇编比C语言访问硬件效率更高。...所以,一般将硬件初始化工作交给汇编,比较复杂操作交给C语言。 ③C语言具有很高运行效率。 2.嵌入式开发中地位——开发工具 3.高级语言低级语言:面向过程VS面向对象 ?...可以说面向过程一种基础方法,它考虑实际地实现。一般面向过程从上往下步步求精,所以面向过程最重要模块化思想方法。 面向对象: 面向对象分析根据抽象关键问题域来分解系统。...最后,C语言也有他自身缺陷,比如代码复用性差,代码维护性差,扩展性(新增代码时不改变原来代码)很差。

1.5K3129

新手该如何快速上手C语言——什么C语言

C语言做为最早计算机语言这样流传C生万物 编程之本 长远IT职业发展首选 C语言母体语言人机交互接近底层桥梁 学会C/C++,相当于掌握技术核心 知识点一竿子打通。...计算机语言发展史 大家都知道计算机刚开始由那些数学家门创造用来计算所以当时都是用用二进制 1010000100 这些数字组成 但是这种太麻烦了所以后来又发明了助记符 ADD 这些字母来代表...Clang——苹果中C语言编译器 GCC——linux中C语言编译器 MSVC——在微软环境下C语言编译器 大家常用vs2019 vs2022 编译器用就是 MSVC 第一个C语言程序...这里推荐大家用vs2019社区版 C语言,可以简单调试发现问题功能非常强大。...main旁边 int 返回类型整形 { printf("hello bit\n"); return 0;//return 返回值 这里返回 0 } 代码一般从main函数开始

12010

C语言笔记】什么ANSI C标准?

我们在很多地方都有看到过K&R C、ANSI C、ISO CC89、C99、C11等标准,具体有什么不同呢?(文末有个很好实例) 什么K&R C?...1978年,丹尼斯•里奇(Dennis Ritchie)和布莱恩•柯林汉(Brian Kernighan)合作出版了《C程序设计语言第一版。书中介绍C语言标准也被称作K&R C。...什么ANSI C、ISO CC89、C90标准? 随着C语言使用得越来越广泛,出现了许多新问题,人们日益强烈地要求对C语言进行标准化。...经过漫长而艰苦过程,该标准于1989年完成,这个版本语言经常被称作ANSI C,或有时称为C89(为了区别C99)。...GCC编译器在编译时候可指定C语言标准: 指定c90标准: -std=c90 指定C99标准: -std=c99 定C11标准(目前正在开发中): -std=c11 以上就是关于C语言标准笔记,如有错误欢迎指出

2.6K30

C语言函数参数如何传递

前言 我们可能听过C语言传值和传指针,在其他语言中,也有传引用一说,那么他们到底有什么区别呢?如果你还不能准确地分辨,就该好好了解一下了。...传值 我们在初学C语言时候就被老师教过,下面的方式无法交换a和b: #include void swap(int a,int b) { int temp = a; a = b; b = temp...为什么又有传值,又有传指针 看到这里,不知道你是否会疑惑,为什么给函数传递参数时候,一会是传值,一会是传指针呢?为什么传指针就能改变参数值呢?实际上,C语言里,参数传递都是值传递!...c语言1232_副本_副本.jpg 可配合下面的图进行理解: 总结 本文总结如下: 函数形参都是原数据“副本”,因此在函数内无法改变原数据 函数中参数都是传值,传指针本质上也是传值 如果想要改变入参内容...,则需要传该入参地址(指针和引用都是类似的作用),通过解引用修改其指向内容 以上结论不限于C语言 本文原地址:https://www.yanbinghu.com/2019/06/20/53981.html

4.1K11

Unix C 语言编写吗?

Unix 与 C 语言关系 ? Unix 确实是用 C 语言编写,而且世界上第一个用 C 语言编写操作系统。但是 Unix 怎么产生C 语言又是怎么产生?...BCPL 最早由 Martin Richards 发明用来开发编译器语言。...C 语言解决了 B 语言很多缺陷,并很快成为了开发操作系统最流行一种编程语言。新版本 Unix 以及今天很多类 Unix 操作系统都是用 C 语言开发出来。...好了,讲到这里,我想大家都清楚了 Unix 和 C 语言怎么来了,以及为什么要用 C 语言来编写 Unix。...现在有很多非常流行语言比如 Java 和 Python,它们一种更高级编程语言C 语言这一层之上。但是如果大家想做设备驱动或者系统内核模块修改,还是离不开 C 语言这把利器。

4.6K40

C语言C++学到什么程度可以游戏辅助?

一、先说一下一个外挂需要什么条件 1、熟练C语言知识 目前外挂大部分都是用BC或者vc,拥有熟练C语言知识外挂基本条件 2、具有很强汇编基础 一般游戏都不可能有原代码,必须*反汇编或者跟踪办...如果你不具有上面的条件,还是先把基础打好,再来写外挂吧,一分耕耘,一分收获,天下没有白掉馅饼 二、外挂面临基本技术问题 1、修改进程执行代码 要修改进程执行代码,要先取得进程ID,如果由外挂程序启动...第一步要跟踪出发和收位置,至于怎么跟踪,我以后会提到,找到位置以后,有2个办法,一在那个位置加一 个jmp语句,跳到你处理函数位置,处理完后,再跳回来,这种方法要求比较高,需要处理好很多事情,另一种办法...往那个位置条能造成例外指令,比如int 3,然后用DebugActiveProcess调试游戏进程,这样每当游戏执行到那个位置时候,就会停下来,到外挂程序里面去,等外挂程序处理完以后,用ContinueDebugEvent...小编推荐一个学C语言/C++学习裙【 六二七,零一二,四六四 】,无论你大牛还是小白,想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

3.4K10

C语言一个什么样语言

对于大部分程序员,C语言学习编程第一门语言,很少有不了解C程序员。...C语言除了能让你了解编程相关概念,带你走进编程大门,还能让你明白程序运行原理,比如,计算机各个部件如何交互,程序在内存中一种怎样状态,操作系统和用户程序之间有着怎样“爱恨情仇”,这些底层知识决定了你发展高度...C语言概念少,词汇少,包含了基本编程元素,后来很多语言C++、Java等)都参考了C语言,说C语言现代编程语言开山鼻祖毫不夸张,它改变了编程世界。...编程语言发展大概经历了以下几个阶段: 汇编语言 --> 面向过程编程 --> 面向对象编程 汇编语言编程语言拓荒年代,它非常底层,直接和计算机硬件打交道,开发效率低,学习成本高; C语言面向过程编程语言...C语言有史以来最为重要编程语言:要进入编程行业高手级别必学C语言,要挣大钱必学C语言,要做黑客、红客必学C语言,要面试名企、外企、高薪职位必学C语言

1K30
领券