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++;
-
动态内存分配:
使用malloc
或calloc
在堆上动态分配内存,并使用free
释放内存:int *ptr = malloc(sizeof(int) * 10); if (ptr == NULL) { // 错误处理 } // 使用 ptr free(ptr);
-
指针与函数:
指针可以作为函数参数传递,实现对原始数据的修改或动态内存的管理。
学习这些概念时,重点在于理解它们在内存中的表示和操作方式,以及如何使用它们来解决实际问题。指针尤其强大,但也需要小心使用,因为不当的指针操作可能导致程序崩溃或安全漏洞。