C语言笔记(3)

来源:互联网 发布:淘宝官方活动入口 编辑:程序博客网 时间:2024/06/14 04:40
  1. 数组遍历时要注意以下几点:

    • 最好避免出现数组越界访问,循环变量最好不要超出数组的长度
    • C语言的数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度的方法
    • 由于C语言是没有检查数组长度改变或者数组越界的这个机制,可能会在编辑器中编译并通过,但是结果就不能肯定了,因此还是不要越界或者改变数组的长度
  2. 数组作为函数参数:数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数:
    数组作为函数参数时注意以下事项:

    • 数组名作为函数实参传递时,函数定义处作为接收参数的数组类型形参既可以指定长度也可以不指定长度。
    • 数组元素作为函数实参传递时,数组元素类型必须与形参数据类型一致。
  3. 数组排序
    冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。

  4. 字符串与数组
    在C语言中,是没有办法直接定义字符串数据类型的,但是我们可以使用数组来定义我们所要的字符串。一般有以下两种格式:

    • char 字符串名称[长度]="字符串值"
    • char 字符串名称[长度]={'字符1','字符2',....'\0'}
      注意:
    • []中的长度是可以省略不写的;
    • 采用第2种方式的时候最后一个元素必须是’\0’,’\0’表示字符串的结束标志;
    • 采用第2种方式的时候在数组中不能写中文。
    • 在输出字符串的时候要使用:printf(“%s”,字符数组名字);或者puts(字符数组名字);
  5. 使用字符串函数注意以下事项:

    • strlen()获取字符串的长度,在字符串长度中是不包括‘\0’而且汉字和字母的长度是不一样的。
    • strcmp()在比较的时候会把字符串先转换成ASCII码再进行比较,返回的结果为0表示s1和s2的ASCII码相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ASCII码小.
    • strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝.
    • strcat在使用时s1与s2指的内存空间不能重叠,且s1要有足够的空间来容纳要复制的字符串
  6. 二维数组定义的时候,可以不指定行的数量但是必须指定列的数量:数组类型 数组名称[行][列]=...

0 0
原创粉丝点击