我的计算机学习路线
一份用于验证网站功能的示例路线,讨论基础、实践与复盘,不代表站点所有者的个人经历。
从地址、解引用和对象生命周期理解指针,附可编译的 C 语言示例。
演示数据:这是一篇技术示例,不代表站点所有者的课程笔记或学习经历。
对象占用内存,指针保存指向对象的地址。&value 获取对象地址,*pointer 访问其指向的对象。指针本身也有类型。
#include <stdio.h>
int main(void) {
int value = 42;
int *pointer = &value;
*pointer = 43;
printf("value = %d\n", value);
return 0;
}
预期输出为 value = 43。这里没有分配动态内存,pointer 指向的局部对象在 main 返回前有效。
非空指针不保证可解引用:它也可能是悬空指针。不要返回局部变量的地址,不要在 free 后继续访问对象。指针运算必须限制在同一数组及其尾后位置允许的范围内,尾后指针不可解引用。
把示例保存为 pointer.c,可用支持 C17 的编译器执行:
cc -std=c17 -Wall -Wextra -pedantic pointer.c -o pointer
./pointer
再尝试解释指针与其指向对象的区别。参阅 学习路线 了解如何用小实验建立反馈。
一份用于验证网站功能的示例路线,讨论基础、实践与复盘,不代表站点所有者的个人经历。
用一个二元函数推导偏导数、梯度与方向导数,展示矩阵、积分及分段公式。