C语言学习记录_2019.02.08
- \n:换行; \t:制表符,相当于大空格;
- a[5]={2};<------->a[5]={2,0,0,0,0};
- 数组初始化的方法:a[5]={0};即全部初始化为0;
- 数组初始化的定位初始化(C99):int a[6]={[0]=2,[2]=2,3,};<------>a[0]=2,a[2]=2,a[3]=3,其余全部初始化为0;
- sizeof:得出变量或数组的大小;当对象是数组时,单位为字节,即整个数组所占空间的字节大小。
- 求数组的元素的个数:i=sizeof(a)/sizeof(a[0]);好处为一点修改了数组中初始的数据,则不需要修改遍历的代码;
- 数组变量不能直接赋值;必须采用遍历才能进行数组间的赋值;
- 数组遍历的一般形式:for(i=0;i<length;i++){ } 且离开循环后,不应继续用i做数组的下标;
- 数组作为函数的形式参数时,不能再利用sizeof来计算数组的元素个素;且不能在[]中给出数组的大小;此时需要另外设一个参数来传递数组的大小;(可以在实参中利用sizeof计算数组个数来传递给形式参数length)
- sqrt( ):x的平方根函数。
- 函数中平白无故的加入大括号的目的往往是为了调试;为了不影响大括号外面的相同名字的变量的值;
- 搜索函数:单一出口ret原则,此时函数的结构更加清晰;
- 一专多能不是好的代码,即一个变量承担了两个责任;
- 定义字符串数组。例:char *name[]={“one”,”two”,”three”};
- 结构:
struct
{
int amount;
char *name;
}coins[] =
{
{1,"one"},
{2,"two"},
{3,"three"}
};
- 如上结构的好处:关联两个数组在一起;
- 线性搜索最大的问题是效率问题;改善,提高效率------>二分搜索(前提:数据是有序的);
- 排序之一:选择排序,即找到最大的元素然后放到最后,循环。
C语言学习记录_2019.02.08的更多相关文章
- C语言学习记录_2019.02.10
sizeof:给出某个类型或某个变量在内存中占据的字节数:(1个字节8位,即8比特) 格式符 (1)%ld表示数据按十进制有符号长型整数输入或输出. (2)%d表示数据按十进制有符号整型数输入或输出. ...
- C语言学习记录_2019.02.23
char类型的输出: scanf("%d",&i);//i=49; char x=i; printf("x=%d\n",x); printf(" ...
- C语言学习记录_2019.02.07
C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提 ...
- C语言学习记录_2019.02.05
switch只能判断整数,而分段函数的判别是一个范围,我们无法用整数来表示范围 跟踪语句的方法: (1)debug调试 (2)printf( )语句跟踪 小套路:当循环次数很大时,可以先模拟较小次数的 ...
- C语言学习记录_2019.02.04
逻辑性变量的定义符:bool,在C语言中只有true和false: 定义方式:bool t = true; 逻辑运算符: !:逻辑非 &&:逻辑与 ||:逻辑或 表达区间的错误形式:4 ...
- C语言学习记录_2019.02.02
变量在第一次被使用之前应该赋初值 scanf(“%d”,&price); scanf(“price%d %d”,&price); scanf中的东西一定是要输入的东西. 定义常量:c ...
- C语言学习记录_2019.02.12
"学计算机一定要有一个非常强大的心理状态,计算机不是黑魔法,都是人想出来的,别人能够想的出来,那么,总有一天,我也能够想的出来." 指针类型的变量就是保存地址的变量. int* p ...
- C语言学习记录_2019.02.09
打印字符串:%s--------printf("%s","abcd"); 打印字符串数组中某一位:%c--------printf("%c" ...
- C语言学习记录_2019.02.06
break语句的作用:当执行到break,则跳出循环,免去不必要的循环次数,节省时间和资源.-----跳出循环,结束循环: continue:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到 ...
随机推荐
- ES6-fetch
fetch 事实标准,并不存在与ES6规范中,基于Promise实现. 目前项目中对Promise的兼容性尚存在问题,如果在项目中应用fetch,需要引入es6-promise和fetch. fis3 ...
- Oracle数据库通过DBLINK实现远程访问
什么是DBLINK? dblink(Database Link)数据库链接顾名思义就是数据库的链接 ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就 ...
- numpy meshgrid 和 mgrid 的两个简单实例和解析
numpy.meshgrid 和 numpy.mgrid 用于返回包含坐标向量的坐标矩阵. 当坐标矩阵为二维时, 可用于在图像变形时构建网格. 实例一 from __future__ import p ...
- leetCode题解寻找最短字符路径
1.题目描述 2.分析 最简单的方案,对每一个字符,向两边寻找. 3.代码 vector<int> shortestToChar(string S, char C) { vector< ...
- Management Studio 插件生成安装包要点(以ProjkyAddin为例)
通过Visual Studio向导生成Management 插件框架就不说了,网上能搜到不少资料.本篇重点是说明怎么设计一个插件安装包,适用于Management Studio 2005 到2014的 ...
- laravel session的几个特点
1. 只要访问了网站,就会创建一个临时的session 2.用户登录后sessionid就会发生变化 3.在这期间,即使使用4g网络,ip地址会不断发生变化,只要cookie中包含了sessionid ...
- bug管理工具
1..禅道 禅道项目管理软件(简称:禅道)集产品管理.项目管理.质量管理.文档管理.组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程. 禅道的主要管理思想基于国际 ...
- Mysql5.7 的错误日志中最常见的note级别日志解释
在使用mysql5.7的时候,发现了不少在mysql5.6上不曾见过的日志,级别为note, 最常见的note日志以下三种,下面我们来逐个解释. 第一种,Aborted connectio ...
- POST请求上传多张图片并携带参数
POST请求上传多张图片并携带参数 在iOS中,用POST请求携带参数上传图片是非常恶心的事情,HTTPBody部分完全需要我们自己来配置,这个HTTPBody分为3个部分,头部分可以携带参数,中间部 ...
- hibernate设置了not-null 为什么无效?
因为设错地方了! 错误--写在了property标签里 <property name="password" type="string" length=&q ...