C语言学习笔记9(自动变量|数组定义|容器|集成初始化|下标|sizeof)

  • 函数1

  • 没有参数时

    void f(void):确定函数不需要参数

    void f():不确定函数需要什么参数

    进行函数声明时,括号内尽量明确,哪怕什么也没有。

  • main

    return 0表示正常运行

  • 本地变量

    又称为局部变量、自动变量(生存期是自动的)。

    • 生存期

      开始出现到消失的周期。

    • 作用域

      起作用的领域。

    • 大括号内的代码称为

  • 数组2

    int main()
    {
        int number[100]; // 此数组可以放100个int
        number[i] = x; // 给number的第i个元素的值赋为x
        number[101]
    }
    
  • 数组定义

    <类型>变量名称[元素数量];

  • 容器

    数组是一种容器(放东西的东西),语言所提供的容器的能力的大小可以看作是语言能力大小的评判标准。数组有以下特点:

    • 容器中所有的元素具有相同的数据类型;
    • 一旦创建,不能改变大小;
    • 数组中的元素,在内存中是连续依次排列的;

    左值:赋值符号左边的数组元素array[i]=

    扫描二维码关注公众号,回复: 8540299 查看本文章
  • 下标

    数组的下标从0开始编号,是从C语言开始的。

    编译器不会检查对数组使用下标是否越界,但是如果下标越界,可能会报错segmentation fault,但是也可能会运气比较好没有造成严重后果。实际运行中,如果出现有时运行成功有时失败、一台电脑上运行成功另外电脑失败,很有可能是因为这个数组下标越界的问题。

  • magic number

    魔术数字,可以用const int number = 10替代。

  • 数组运算3

  • 集成初始化
    int a[] = {1,2,3,4,5,6,7,8,9,0};
    int a[10] = {2}; // 第一个元素后面9个元素都是0
    int a[] = {[1] = 2, [9]= 0}; // 生于位置元素都是0
    int b[] = a; //这是错误的,如果把a复制给b,需要写一个循环遍历元素
    
  • sizeof()

    sizeof运算符,求解变量的大小,这个大小指的是位数,比如a是一个int a[10]数组,则sizeof(a)40,即一共10个元素,每个元素大小为4,得到40。同理可以得到一个数组的元素个数:sizeof(a)/sizeof(a[0])

  • 数组作为函数参数

    数组作为函数参数时,往往必须再用另一个参数来传入数组的大小;

    同时不能再用sizeof来计算数组元素个数

  • References


  1. 翁恺, C语言程序设计, [B站], 7.2.3- ↩︎

  2. 8.1.1-8.1.3 ↩︎

  3. 8.2.1 ↩︎

发布了753 篇原创文章 · 获赞 1021 · 访问量 54万+

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/103914797
今日推荐