news 2026/10/2 21:34:04

【C语言】指针型数组(Finish)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C语言】指针型数组(Finish)

malloc 分配出来的 int* 指针,完全能用 [] 下标访问。

示例代码

#include <stdio.h> #include <stdlib.h> int main() { // 分配能存放5个int的内存 int *arr = (int *)malloc(5 * sizeof(int)); if(arr == NULL) { perror("malloc fail"); return 1; } // 用[]赋值、读取 arr[0] = 10; arr[1] = 20; arr[2] = 30; for(int i = 0; i < 5; i++) { printf("%d ", arr[i]); } free(arr); // 用完一定要释放! return 0; }

arr[i] 等价于 *(arr + i)

arr 是指向这块连续内存首地址的指针,指针加减偏移, [] 只是语法糖。

总结

1. malloc分配的是连续内存,所以下标访问合法;

2. 下标不能越界!比如分配5个int,不能访问 arr[5] ;

3. int* arr 只是指针,不是数组类型,不能用 sizeof(arr) 获取数组总大小(得到的是指针大小);

4. 用完必须 free(arr) ,防止内存泄漏。

int a[5]; // 栈上数组,数组类型 int *p = malloc(5*sizeof(int)); // 堆上,指针类型 a[0]; // ✔ p[0]; // ✔ 完全一样

拓展:二维(malloc)

int **p = malloc(3 * sizeof(int*)); for(int i=0;i<3;i++) p[i] = malloc(4 * sizeof(int)); p[1][2] = 100; // 同样可以[]访问
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 21:30:35

从零构建AI工程:MCP插件开发与实战复盘

不少朋友问我&#xff0c;AI工程到底该怎么入门。市面上聊AI工程的课程和帖子&#xff0c;动不动就是RAG、Agent、微调、大规模分布式推理&#xff0c;看起来高深&#xff0c;真正上手却发现离自己的日常工作很远。我自己的体会是&#xff0c;与其从那些宏大概念开始&#xff0…

作者头像 李华
网站建设 2026/10/2 21:25:32

DeepSeek Harness 桌面端部署实战:从安装到内网技能工作流配置

从首次看到 DeepSeek Harness 桌面端的安装包&#xff0c;到今天把它完整跑起来做一轮日常开发&#xff0c;前后折腾了几天。这个工具之前一直是命令行形态&#xff0c;不少人第一反应都是“又要背参数了”。但官方桌面端出来之后&#xff0c;整件事的体验明显不一样了——模型…

作者头像 李华
网站建设 2026/10/2 21:25:19

从零手搓AI工程:张量、自动求导与推理优化实战

1. 从零手搓AI工程&#xff1a;为什么我不建议你直接调包很多人一提到“AI工程”&#xff0c;第一反应就是pip install transformers&#xff0c;然后写三行代码调用一个预训练模型&#xff0c;跑通了就觉得自己会了。我刚开始也是这么想的&#xff0c;直到有一次线上推理服务在…

作者头像 李华
网站建设 2026/10/2 21:22:11

三模型协同构建可交互3D游戏:Minecraft实测架构

1. 这不是“跑个Demo”&#xff0c;而是一场跨模型的3D游戏协同开发实录最近两周&#xff0c;我把自己关在工作室里&#xff0c;没碰任何新项目&#xff0c;就干了一件事&#xff1a;把 Step 5 Preview、DeepSeek V4 Pro 和 GLM5.3 三款当前最活跃的开源大模型&#xff0c;拉进…

作者头像 李华