2024-2025-1 20241312《计算机基础与程序设计》第八周学习总结

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第八周作业)
这个作业的目标 功能设计与面向对象设计
面向对象设计过程
面向对象语言三要素
汇编、编译、解释、执行
作业正文 ... 本博客链接

教材学习内容总结

一维数组、二维数组和指针是C语言中的重要概念,它们都是存储和处理数据的方式。以下是这些主题的学习内容总结:

一维数组

一维数组是相同数据类型元素的集合,它们在内存中连续存储。

  • 定义

    类型名 数组名[数组大小];
    

    或者先声明后定义大小:

    类型名 数组名[];
    
  • 初始化
    可以在定义时初始化数组:

    int arr[] = {1, 2, 3, 4, 5};
    
  • 访问元素
    通过索引访问数组元素:

    int value = arr[index];
    
  • 遍历
    使用循环遍历数组:

    for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
        printf("%d ", arr[i]);
    }
    
  • 大小
    数组的大小是固定的,一旦定义就不能改变。

二维数组

二维数组可以看作是数组的数组,用于存储表格状的数据。

  • 定义

    类型名 数组名[行数][列数];
    
  • 初始化
    可以在定义时初始化二维数组:

    int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
    
  • 访问元素
    通过两个索引访问元素:

    int value = matrix[row][col];
    
  • 遍历
    使用嵌套循环遍历二维数组:

    for (int i = 0; i < 行数; i++) {
        for (int j = 0; j < 列数; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    
  • 大小
    与一维数组类似,二维数组的大小也是固定的。

指针

指针是存储变量地址的变量,它指向内存中的一个位置。

  • 定义

    类型名 *指针名;
    
  • 初始化
    可以初始化指针指向一个变量或数组:

    int var = 10;
    int *ptr = &var;
    
  • 解引用
    通过解引用操作符 * 访问指针指向的值:

    int value = *ptr;
    
  • 指针与数组
    数组名可以作为指向数组第一个元素的指针使用:

    int arr[5];
    int *ptr = arr; // ptr 指向 arr 的第一个元素
    
  • 指针运算
    指针可以进行算术运算,如增加指针的值来移动到下一个元素:

    ptr++;
    
  • 动态内存分配
    使用 malloccalloc 在堆上动态分配内存,并使用 free 释放内存:

    int *ptr = malloc(sizeof(int) * 10);
    if (ptr == NULL) {
        // 错误处理
    }
    // 使用 ptr
    free(ptr);
    
  • 指针与函数
    指针可以作为函数参数传递,实现对原始数据的修改或动态内存的管理。

学习这些概念时,重点在于理解它们在内存中的表示和操作方式,以及如何使用它们来解决实际问题。指针尤其强大,但也需要小心使用,因为不当的指针操作可能导致程序崩溃或安全漏洞。

posted @ 2024-11-17 23:00  宋家璘  阅读(2)  评论(0编辑  收藏  举报