登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[学习笔记] 有关数组(1)

[复制链接]
发表于 2017-2-12 17:11:34 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C语言
学习安排: 看书和视频
开始时间: 2017-02-06
结束时间:
本帖最后由 追猫少年 于 2017-2-12 17:00 编辑

       数组是指具有相同类型的数据组成的序列,是有序集合。             数组中的每一个数据称数组元素或下标,分为 一维数组,二维数组和多维数组。
       注意:数组元素有序不是指元素大小顺序
           C 语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中
        变量的值。例如[mw_shl_code=c,true]
                                  int n;
                                 scanf("%d",&n);
                                 int a[n];[/mw_shl_code]          这样是不行的。
   需要注重的是一维数组,下面内容也是关于这方面的
   一维数组的存储  
a[0]
a[1]
a[2]
...
...
每个数据元素占用相同的字节数,与基类型的字节数相同,例如 int a[]  ,一个元素占4个字节。  初始化: 可以对数组所有元素赋初值,部分元素赋初值。还可以动态赋值,如下:

QQ截图20170209171333.jpg

还有一维数组中最为重要的一种算法,称为 冒泡排序法。例如将10个数据进行排序
QQ截图20170209175523.jpg
  其他几维数组就不多介绍了。     然后是字符数组,顾名思义是存放字符型数据的数组,每个元素存放的都是单个字符。
       如果花括号中提供的初值个数超过数组长度,将产生错误,如果初值个数少于数组长度时,剩余的元素自动用空格补足,例如

   char c[10] = {'C',' ','P','r','o','g','r','a','m'};  其余元素默认为空字符(‘\0’)

        用一个个字符常量来初始化字符数组很麻烦,其实,可以用一个字符串常量来初始化字符数组:

   char str[] = {"This is a string"};

   这时我们定义了一个长度为17的数组。为什么是17呢?编译器在字符串常量的最后自动增加了一个字符结束标志'\0'。

   这就是字符串变量与字符数组的区别

   有关字符串的函数:  输入(scanf),输出(printf)这两个是我们最熟悉的,不用过多介绍,

    gets函数:可以完整的读入带有空格的字符串。

    puts函数:从起始地址开始输出存储单元的字符,遇到第一个‘\0’符号是结束,并自动换行。

    strcat函数(字符串连接函数):将两个不同字符串连接成一个。

    strcmp函数(字符串比较函数):比较两个不同的字符串大小。

    strlen函数(字符串长度函数):计算字符串的实际长度,不含结束标志‘\0’,并作为函数返回值。



...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表