news 2026/5/8 18:34:13

小白学C指针 *

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白学C指针 *

1.&取地址符 - “在哪里?”

inta=10;// a 是个变量,值是 10&a// 这是 a 的地址(门牌号),比如 0x7ffeeb0b1234

比喻

  • a= 你家的电视机(值)
  • &a= 你家的地址(可以找到电视机的位置)

2.*星号 - “是什么?”

(1) 声明指针时:

int*p;// p 是一个指针,能指向 int 类型数据的地址

(2) 解引用时(取指针指向的值):

inta=10;int*p=&a;// p 保存了 a 的地址*p=20;// 找到 p 指向的位置,把那里的值改成 20// 现在 a 变成 20 了!

比喻

  • p= 一张写着地址的纸条
  • *p= 按照纸条地址去房子里拿东西(或放东西)

3.完整例子,一句话解释

#include<stdio.h>intmain(){inta=10;// 变量 a,值是 10int*p=&a;// p 保存了 a 的地址printf("a的值: %d\n",a);// 10printf("a的地址: %p\n",&a);// 地址1printf("p的值: %p\n",p);// 地址1(和上面一样)printf("*p的值: %d\n",*p);// 10*p=99;// 通过 p 找到 a,改成 99printf("现在a是: %d\n",a);// 99return0;}

4.一句话口诀

& 变量 → 地址(取地址) * 指针 → 值(解引用) 声明时:int *p → p是个指针 使用时:*p = 10 → 找到p指向的地方,放个10

日常类比

  • 你家:a
  • 你家地址:&a
  • 快递单(写着地址):p
  • 按快递单找到你家:*p

记住:&取地址*取内容。一个往“里”看,一个往“外”看。


那么有的时候int星号p int和星号之间有的时候有空格,有的时候空格在星号和p之间,这是什么意思?

没区别!纯粹是代码风格问题,编译器完全不在乎空格在哪里。

几种写法的意思完全相同

int*p;// 常见写法:强调 *p 是一个整数int*p;// C++风格:强调 p 是一个整型指针int*p;// 中间派int*p;// 紧凑派(不推荐)

但!有个陷阱要特别注意:

// 错误理解:两个变量都是指针?int*p1,p2;// 其实只有 p1 是指针,p2 是普通整数!// 正确写法(想要两个指针):int*p1,*p2;// 两个都是指针// 更好的写法(避免混淆):int*p1;int*p2;// 分开写,清晰

为什么有不同风格?

  1. int *p(C程序员常用):
int*p;*p=10;// 一致:都是 *p
  • 想法:*p这个整体是int类型
  • 更适合理解:*p = 10(解引用得到整数)
  1. int* p(C++程序员常用):
int*p;p=&a;// p 本身是指针类型
  • 想法:p的类型是int*(整型指针)
  • 更适合理解:int*是一种类型

给你的建议

  • 初学者用int *p(更符合C传统)
  • 每行只声明一个指针变量,避免混淆
  • 保持团队代码风格一致

重要区别不在空格,在变量名前面的星号个数

int*p;// 一级指针int**pp;// 二级指针(指向指针的指针)

记住:编译器只看星号*在不在,不看空格在哪里。空格只是让人读起来舒服些。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 11:19:09

智能合约团队协作:提示工程架构师的AI Prompt方案,统一开发规范

智能合约团队协作&#xff1a;提示工程架构师的 AI Prompt 方案与统一开发规范 摘要/引言 在智能合约开发领域&#xff0c;团队协作至关重要。随着人工智能&#xff08;AI&#xff09;技术的发展&#xff0c;提示工程在智能合约开发中展现出巨大潜力。然而&#xff0c;团队成员…

作者头像 李华
网站建设 2026/4/27 6:05:22

【毕业设计】深度学习基于python-CNN深度学习对宠物体型识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/2 13:13:29

深度学习毕设项目:基于python-CNN深度学习对宠物体型识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/29 3:52:34

【AI+教育】AI浪潮下,教师不只是转型,更是“二次创业”:五大职责升级的现实解法

当AI能批量生成教案、秒批作业、精准答疑,教育行业的变革已不是“选择题”而是“必答题”。有人说“教师会被AI替代”,但真相是——AI正在淘汰只会重复劳动的“教书匠”,却让坚守教育本质、懂得与AI协作的教师更具价值。 从“知识灌输者”到“成长引路人”,这场职责转变从来…

作者头像 李华