Back to COMP1511 返回 COMP1511

Interactive Pointers Course 指针互动课程

Learn pointers with interactive visuals and step-by-step actions. 通过交互与可视化逐步掌握指针。

Course Goals 课程目标

Understand how pointers work via interactive demos and visuals. This course includes two core modules. 通过交互式演示和可视化,深入理解指针的工作原理。本课程包含两个核心模块:

📍 Module 1: Address & Dereference 📍 模块一:地址与解引用

Create variables and pointers, visualize address relationships. 动态创建变量和指针,可视化地址指向关系

🔢 Module 2: Pointer Arithmetic 🔢 模块二:指针算术

Show how pointers move and compute within arrays. 展示指针在数组中的移动和计算过程

Module 1: Address & Dereference Visualization 模块一:地址与解引用可视化

在这个模块中,你可以创建变量和指针,然后观察它们之间的关系。通过指针修改变量值,实时看到变化。

Control Panel控制面板

Click "Create Variable" to visualize memory点击"创建变量"开始可视化内存布局

Module 2: Pointer Arithmetic Demo 模块二:指针算术演示

See how pointers move through arrays and understand pointer arithmetic. 在这个模块中,你将看到指针如何在数组中移动,理解指针算术的工作原理。

Array Setup数组设置

Enter array elements and click "Create Array" to begin输入数组元素并点击"创建数组"开始演示

Related C Code 对应的C代码

Module 1 Code Example:模块一代码示例:

int x = 42;           // 创建变量
int *ptr = &x;        // 创建指针

printf("x 的值: %d\n", x);
printf("x 的地址: %p\n", &x);
printf("ptr 的值: %p\n", ptr);
printf("*ptr 的值: %d\n", *ptr);

*ptr = 100;           // 通过指针修改
printf("修改后 x: %d\n", x);

Module 2 Code Example:模块二代码示例:

int arr[] = {10,20,30,40,50};
int *ptr = arr;       // 指向数组首元素

printf("*ptr = %d\n", *ptr);     // 10
ptr++;                           // 移动指针
printf("*ptr = %d\n", *ptr);     // 20

printf("*(ptr+2) = %d\n", *(ptr+2)); // 40
ptr = arr;                       // 重置指针

Continue Learning继续学习