随笔分类 -  C/C++

摘要:我们最开始学习c++时,就知道要写一个main()函数,并且知道这是整个函数的入口,但是c++不只有main()函数这一个入口。 一、对于不同的程序函数入口是不同的。 参考资料:http://topic.csdn.net/t/20010930/15/308713.html。 在整个可执行文件执行之前 阅读全文
posted @ 2018-03-15 15:23 哦摩西罗伊 阅读(1946) 评论(0) 推荐(0)
摘要:最开始学习Java时,老师就说Java是跨平台的,而c++不是,这里要纠正一下观点,c++也是跨平台的,只不过是实现跨平台的方式不同而已。 1、平台 一般我们把CPU处理器与操作系统的整体叫平台。不同的平台识别的指令架构是不同的。无论哪种语言编写的程序都需要依托平台来运行。 2.c++跨平台的方式 阅读全文
posted @ 2018-03-13 20:43 哦摩西罗伊 阅读(1461) 评论(2) 推荐(0)
摘要:在开发大型项目时,我们常常需要将一份源码分成多个源文件来进行编写,这样可以方便后期的维护。下面就介绍如何从一个源文件里调用另一个源文件的函数。 在源文件A1.c中调用A2.c 中的函数有两种方法: 1.在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如: 在A2 阅读全文
posted @ 2018-03-13 16:18 哦摩西罗伊 阅读(25526) 评论(0) 推荐(0)
摘要:在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (impl 阅读全文
posted @ 2018-03-04 21:35 哦摩西罗伊 阅读(463) 评论(0) 推荐(0)
摘要:我在前面的博文就提到了GCC编译器工作的四个阶段:预处理、编译、汇编、链接。 感兴趣的同学可以参考:http://www.cnblogs.com/mlgjb/p/7708007.html compile就是检查语法的,检查没错了,将它们生成相应的二进制文件(OBJ)。 build则是指compile 阅读全文
posted @ 2018-03-04 14:15 哦摩西罗伊 阅读(5964) 评论(0) 推荐(1)
摘要:两个%即可,C语言中%有两个作用: 第一种是作为运算符,取余,例如:9%4=1(9/4=2……1)。 第二种是转义符,比如在scanf()和printf()中的输入参数常出现带有%的表示参数类型的变量。%字符的转义字符是%%,故要想输出%就需要使用%%。 阅读全文
posted @ 2018-02-02 15:33 哦摩西罗伊 阅读(2080) 评论(0) 推荐(0)
摘要:参考资料:http://www.cnblogs.com/dfcao/p/csapp_intr1_1-2.html 在linux系统上,从源文件到目标文件的转化是由编译器完成的。以hello.c程序的编译为例,如下: dfcao@linux: gcc -o hello hello.c 在这里,gcc编 阅读全文
posted @ 2017-10-22 10:43 哦摩西罗伊 阅读(2796) 评论(0) 推荐(0)
摘要:一般来说c传值分为传值与传指针,Java里没有指针,因此只有传值,但是Java里传值分为简单变量传值和引用型变量传值,从本质上来说这两者没啥区别。 下面主要说的是传参时对原变量的影响: 最初练习创建单链表时可能会有这样一种写法: n是单链表节点的个数,head被初始化为null,调用该函数后可能会有 阅读全文
posted @ 2016-08-12 09:27 哦摩西罗伊 阅读(399) 评论(0) 推荐(0)
摘要:习惯了c++的cin.cout之后,也不怎么关注空格,反正cin.cout会自动处理。有一次实验,创建Huffman树,要求输入空格字符,当时就懵逼了.cin咋输入空格呢? 没办法,只能重新用scanf函数了,结果各种悲剧,足足debug一个多小时,这难道就是越学越差劲系列? scanf()和pri 阅读全文
posted @ 2016-07-13 19:26 哦摩西罗伊 阅读(668) 评论(0) 推荐(0)