c语言
Feleve
这个作者很懒,什么都没留下…
展开
-
scanf获取句子
scanf的结束标志是空格和回车键,而gets的结束标志为回车键,输入字符串时,一般采用gets因此有下面两种方法可以在使用scanf时完整输入字符串1)利用strcat()函数来实现带空格字符串的输入,可以用字符串追加函数strcat()来连接每个单词。 Strcat()一般格式:char*strcat(char*dest,const char*src); 函数将字符串src连转载 2016-11-28 17:50:41 · 271 阅读 · 0 评论 -
栈实现计算器
栈实现计算器1.自左向右扫描表达式,凡是遇到操作数一律进操作数栈。2.当遇到运算符时,如果他的优先级比运算符栈栈顶元素的优先级高就栈。反之,取出栈顶运算符和操作数栈顶的两个连续操作数运算,并将结果存入操作数栈,然后继续比较该运算符与栈顶的运算符的优先级。3.左括号一律进运算符栈,右括号一律不进运算符栈,取出栈顶运算符和操作数栈顶的两个连续操作数运算,并将结果存入操作数栈,直到取出左括号转载 2017-01-15 16:18:44 · 409 阅读 · 0 评论 -
链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一原创 2016-12-16 15:49:55 · 220 阅读 · 0 评论 -
printf函数详解
首先直接描述printf函数中的“格式描述串”,它是由一系列的“格式转换说明符号”组成,格式转换说明符号的描述形式如下:%[+][-] 0 m[n][输出精度](1)形式字母:制定输出格式,如表d:十进制整型数i:十进制整型数x:十六进制整型数o:八进制整形数u:无符号十进制整形数c:单个字符s:字符串e:指数形式的浮转载 2016-11-27 16:00:36 · 325 阅读 · 0 评论 -
数据类型 变量与常量
变量特点; 1.变量的数据类型: 变量占用内存空间的大小 2.变量的作用域: (生命周期)变量的有效性范围 3.变量的存储类型: 变量在内存中的存储方式内存和硬盘的区别:内存:数据调定会丢失,放的是运行数据,动态执行 硬盘:保存静态数原创 2016-11-27 15:56:29 · 352 阅读 · 0 评论 -
c语言的四个标准
K&R C1978年,丹尼斯•里奇(Dennis Ritchie)和布莱恩•柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程式设计师称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色: 结构(struct)类型长整数(long int)类型无符号整数(unsigned int)类原创 2016-11-26 14:24:32 · 621 阅读 · 0 评论 -
数据类型 字节
字长:bit 字节:8bit 字:(32位处理器)=4个字节=32bit 半字:两个字节= 16bit运算符sizeof :不是函数,用于测量变量,数据类型的字节长度使用方法:sizeof + 空格 + 变量名 或者sizeof(变量名),而测量数据时只能用后者。原创 2016-11-26 14:10:29 · 258 阅读 · 0 评论 -
复杂的c语言变量声明
介绍 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的 C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地 理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/原创 2016-11-21 23:09:58 · 284 阅读 · 0 评论 -
理解复杂的c语言 c++声明
介绍 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的 C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地 理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C转载 2016-11-20 11:00:11 · 312 阅读 · 0 评论 -
c语言概述
c++ 应用于服务器后台,比如VRc#& .net windows桌面应用程序php 做网站python 、shell 脚本语言 用于大数据处理 软件测试os ios开发语言嵌入式为什么选择c语言所有操作系统内核都是由c语言来实现的c语言有如下的特点:出色的移植性 访问硬件 运行效率高移植性:一个平台到另一个平台,修改代码越少移植性越好,一个软件可原创 2016-11-19 23:38:47 · 222 阅读 · 0 评论 -
函数指针
函数名:指针常量,函数的入口地址函数的调用:通过函数名找到函数入口;给形参分配空间;传参执行函数体里的语句;返回,释放空间;当只使用不修改实参变量对应空间的值,传实参变量名;当既使用又修改变量对应空间的值,传是参变量对应空间的地址;传入参数:一个变量有值,传入函数用;传出参数:一个变量没有值,从函数中带出的值;原创 2016-12-11 11:47:45 · 160 阅读 · 0 评论 -
数组指针
一维数组名是指针常量,保存的是数组首元素的地址[] = *() a[i] = *(a + i)&a:代表的是数组的地址,对数组名取地址等于数组的地址*(&a)=a 对一维数组的地址取值等于一维数组的收元素的地址二维数组 a[i][j]*(*(a + i) + j ):a + i: 第i + 1个一维数组的地址;*(a + i ): 第i + 1个一维原创 2016-12-11 11:26:36 · 190 阅读 · 0 评论 -
野指针
成因野指针主要是因为这些疏忽而出现的:指针变量未初始任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。指针释放后之后未置空有时指针在free或delete后未赋值 NULL,便会使人以为是合法的。别看free和delete的名字(尤其是delete),它们只原创 2016-11-30 16:37:59 · 292 阅读 · 0 评论 -
嵌入式数据结构
Berkeley DB概述Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API接口。 它是一个经典的C-library模式的toolkit转载 2017-01-18 21:27:23 · 368 阅读 · 0 评论