数组部分

p16 拾遗


1. 赋值运算符

  • 左值和右值
    赋值运算符左边必须是一个lvalue,变量名就是lvalue。不能将非lvalue放到左边,如5 = a;

  • 复合的赋值运算符
    a = a + 1写成a += 1
    a = a - 1写成a -= 1
    a = a * 3写成a *= 3

  • 自增自减运算符

  • 逗号运算符
  • 条件运算符
    exp1? exp2 : exp3;

2. goto语句

3. 注释

  1. 输入什么,返回什么
  2. 函数的功能
  3. 某条较难理解的语句的功能

p17 数组

  • 数组的定义
    类型 数组名[元素个数]
    int a[6]; char b[24]; double[3]; //都占用24个字节的内存空间

  • 数组不能动态定义
    int a[n]

  • 访问数组中的元素
    数组名[下标]
    注意:第一个元素的下标是零。

  • 循环跟数组的关系
    常常使用循环来访问数组,因此初始化为0。

  • 数组的初始化
    定义的同时进行赋值
    花括号,逗号隔开。
    有时候可以偷懒,可以只给出各个元素的值,而不指定数组的长度。int a[] = {1, 2, 3, 4, 5};
    C99增加了一种新的特性,指定初始化元素,这样就可以只对数组中某些特定的元素进行初始化赋值,而未被赋值的元素自动初始化为0。
    int a[10] = {[3] = 3, [5] = 5, [8] = 8}

  • sizeof()
    返回数组占用内存的字节数


P18 啪啪啪

  • C99标准支持动态数组
  • 越界访问
    数组越界访问是C语言的未定义行为,不同的编译器有不同的解释。
    在开发中应该避免数越界访问。

P19 字符数组

  • 字符数组
    C语言没有字符串类型,如何表示字符串。
    字符串常量—不可修改;字符数组—可以修改

  • 字符处理

  1. 获取字符串的长度:strlen
    字符的个数,不包括\0

  2. 拷贝字符串:strcpystrncpy

  3. 连接字符串:strcat 和 strncat

  4. 比较字符串:strcmp 和 strncmp


P20 二维数组

  • 定义
    int score[4][50];

  • 访问
    score[0][1] = 90;

  • 初始化

你可能感兴趣的:(数组部分)