随笔分类 - 语言-c语言
摘要:最近使用scanf发现了自己对scanf函数还是不太了解,主要出现在无意中出现的一个错误; scanf正确的写法是,scanf中以什么格式输入变量,则变量的类型就应该是什么格式,如下面scanf输入到变量的格式是%c形式,因此变量sum的类型必须是char型,要不存储到sum中的数值会出错; 注意:
阅读全文
摘要:c++main函数char * argv[]是个指针数组,元素是指针,为何argv[1]得到不是地址? 照我的理解char *argv[]保存的应该是一组指针,即地址,每个地址中保存的是char类型变量,为command line arguments。因此如果输出argv[1],argv[2]等得到
阅读全文
摘要:一、时间复杂度 举例练习 二、空间复杂度 既然时间复杂度不是用来计算程序具体耗时的,那么我也应该明白,空间复杂度也不是用来计算程序实际占用的空间的。 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的一个量度,同样反映的是一个趋势,我们用 S(n) 来定义。 计算空间复杂度:看储存单元随n如何
阅读全文
摘要:使用 i++ vs. ++i i++是先赋值再加1 ++i是先加1再赋值 到目前为止,你已经学习了如何编写下面这样的 C++ for 循环: for (int i = 0; i < 10; i++) {} 这条语法同 Python 的 for 循环语法十分相似;然而,你也可以这样编写 for 循环:
阅读全文
摘要:今天在群里聊天的时候,谈论到python和Java相比居然不用定义变量类型。我心血来潮就去百度了一番动态语言和静态语言的具体区别,一番百度才发现自己原来的想法不够全面,所以在这里做个笔记。 基本概念 动态类型语言:在运行期进行类型检查的语言,也就是在编写代码的时候可以不指定变量的数据类型,比如Pyt
阅读全文
摘要:该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助.一.main()函数参数通常我们在写主函数时都是void main()或int main() {..return 0;},但ANSI-C(美国国家标准协会,
阅读全文
摘要:1、将浮点型以整形的类型输出问题 用VC6.0,会把以整形输出形式的浮点数输出为0; 1 #include"stdio.h" 2 int main() 3 { 4 float x=2.5,y=4.7,z; 5 int a=7; 6 z=x+a%3*(int)(x+y)%2/4; 7 printf("
阅读全文
摘要:在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串; 而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、 记录和对象等复合类型的值
阅读全文
摘要:这部分内容比较简单,我这里直接先做总结,然后通过写三个测试代码,体会其中的关键点 一、总结 1、const使得变量具有只读属性(但是不一定就是不能更改) 2、const不能定义真正意义上的常量(因为有的用const定义的变量,仍然可以更改) 3、const将具有全局生命期的变量存储于只读存储区(这个
阅读全文
摘要:前言 1、什么是 User space 与 Kernel space? 2、Linux 下一个进程里典型的内存布局是怎样的? 3、什么是栈区? 4、什么是堆区? 5、malloc 算法是如何实现的? 6、Linux 系统下,有几种堆空间分配方式? 上面几个问题,你心里有答案吗?如果没有,跟我一起来探
阅读全文
摘要:一、条件编译 #ifndef *** #define *** #endif 二、#pragma once 只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,这条指令实际上在VC6中就已经有了,但是考虑到兼容性并没有太多的使用。 #pragmaonce是编译相关,就是说这个编译系统上能用,但
阅读全文
摘要:如果把函数比喻成一台机器,那么参数就是原材料,返回值就是最终产品;从一定程度上讲,函数的作用就是根据不同的参数产生不同的返回值。这一节我们先来讲解C语言函数的参数,下一节再讲解C语言函数的返回值。C语言函数的参数会出现在两个地方,分别是函数定义处和函数调用处,这两个地方的参数是有区别的。 形参(形式
阅读全文
摘要:出现这种情况的原因 安装使用Visual Studio 2017 后,用Ctrl+F5运行程序,结果控制台窗口一闪就没了,也没有出现”press any key to continue…” 或者“请按任意键继续”。 出现这种原因,主要是建立工程时选用的是“空工程(Empty Project)”,而不
阅读全文
摘要:C 头文件 头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件
阅读全文
摘要:#include < > 引用的是编译器的类库路径里面的头文件。 #include " " 引用的是你程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文件。
阅读全文
摘要:在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是 a.c,另一个是
阅读全文
摘要:标准库提供的一些参数的数目可以有变化的函数。例如我们很熟悉的printf,它需要有一个格式串,还应根据需要为它提供任意多个“其他参数”。这种函数被称作“具有变长度参数表的函数”,或简称为“变参数函数”。我们写程序中有时也可能需要定义这种函数。要定义这类函数,就必须使用标准头文件<stdarg.h>,
阅读全文
摘要:Global Variable Address Modifier (@address) You can assign global variables to specific addresses with the global variable address modifier. These var
阅读全文