• \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的更多相关文章

  1. C语言学习记录_2019.02.10

    sizeof:给出某个类型或某个变量在内存中占据的字节数:(1个字节8位,即8比特) 格式符 (1)%ld表示数据按十进制有符号长型整数输入或输出. (2)%d表示数据按十进制有符号整型数输入或输出. ...

  2. C语言学习记录_2019.02.23

    char类型的输出: scanf("%d",&i);//i=49; char x=i; printf("x=%d\n",x); printf(" ...

  3. C语言学习记录_2019.02.07

    C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提 ...

  4. C语言学习记录_2019.02.05

    switch只能判断整数,而分段函数的判别是一个范围,我们无法用整数来表示范围 跟踪语句的方法: (1)debug调试 (2)printf( )语句跟踪 小套路:当循环次数很大时,可以先模拟较小次数的 ...

  5. C语言学习记录_2019.02.04

    逻辑性变量的定义符:bool,在C语言中只有true和false: 定义方式:bool t = true; 逻辑运算符: !:逻辑非 &&:逻辑与 ||:逻辑或 表达区间的错误形式:4 ...

  6. C语言学习记录_2019.02.02

    变量在第一次被使用之前应该赋初值 scanf(“%d”,&price); scanf(“price%d %d”,&price);  scanf中的东西一定是要输入的东西. 定义常量:c ...

  7. C语言学习记录_2019.02.12

    "学计算机一定要有一个非常强大的心理状态,计算机不是黑魔法,都是人想出来的,别人能够想的出来,那么,总有一天,我也能够想的出来." 指针类型的变量就是保存地址的变量. int* p ...

  8. C语言学习记录_2019.02.09

    打印字符串:%s--------printf("%s","abcd"); 打印字符串数组中某一位:%c--------printf("%c" ...

  9. C语言学习记录_2019.02.06

    break语句的作用:当执行到break,则跳出循环,免去不必要的循环次数,节省时间和资源.-----跳出循环,结束循环: continue:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到 ...

随机推荐

  1. Android MVP模式就是这么回事儿

    MVP模式 概念就不说了,大家都懂.View层通过Persenter层相互通信,避免了View中大量的业务代码,而将其提取到Model中.其实简单的来说,就是通过接口回调,把业务分离出去.提高代码的可 ...

  2. asp.net中的<%%>的使用

    在asp.net中常见的<%%>方式有如下几种: <%%>.<%=%>.<%:%>.<%#%>.<%$%>.<%@%> ...

  3. 去除Xcode6创建工程时自带的storyboard

    去除Xcode6创建工程时自带的storyboard 1. 删除storyboard文件,并在setting里面清空加载storyboard: 2. 导入ViewController到appDeleg ...

  4. 便利的操作plist文件

    便利的操作plist文件 升级iOS9了,网络被强制切换成https了,你需要更新你的plist的文件才能够支持http,正常的做法是这样子的: 过程是不是挺繁琐的呢?如果你新建的另外一个工程,里面还 ...

  5. Linux partprobe命令详解

    partprobe命令 partprobe: 通知系统分区表的变化 常用的命令展示: 查看帮助 [root@localhost omc]# partprobe --help Usage: partpr ...

  6. IIS 7 反向代理 URL重写 转发动态请求

    一.反向代理是什么 有一篇文章说的挺好的 Nginx 反向代理.负载均衡.页面缓存.URL重写及读写分离详解 http://www.server110.com/nginx/201402/5534.ht ...

  7. 【ORACLE】 安装需要注意的问题(一)

    安装ORACLE虽然不是很难,但是有时候很容易因为一些小细节导致安装失败,浪费大量的时间. 这里总结一下安装ORACLE的时候需要注意的问题,以及解决的办法 问题1:系统先决条件检查 正在检查操作系统 ...

  8. JdkDynamicAopProxy-笔记

    这个接口的继承体系图: 一.AopProxy InvocationHandler就不说了,看看AopProxy的源码. /** * Delegate interface for a configure ...

  9. mysql数据类型和使用方法

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011729265/article/details/25086957         MySQL支持 ...

  10. VM下,装centos7系统,配置nginx的问题

    一.流程 1.先安装nginx依赖的包 (1)yum install gcc-c++ (2)yum install -y pcre pcre-devel (3)yum install -y zlib ...