关于指针,新手疑惑(请高手帮下,因为还没搜索到类似的帖,谢谢)

huejim 2011-05-19 12:36:45
为什么函数指针可以省略*号,而普通指针必须要带*号呢

函数指针int (*p1)();和普通指针int* p2=&a;
在调用的函数指针的时候直接用p1();即可
而调用普通指针的时候必须要用*p呢

...全文
66 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2011-05-19
  • 打赏
  • 举报
回复
为什么一个用,一个不用,道理很简单,就是看你想做什么。

大多数情况,对于变量,我们希望求值,而不是得到地址。

对于函数,我们要调用,需要地址,而不是值。
threenewbee 2011-05-19
  • 打赏
  • 举报
回复
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << *_tmain;
return 0;
}

实际上你也可以对函数使用指针运算。
huejim 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caozhy 的回复:]

实际上以下代码也合法。
int *p = &a;
int b = p; // b 保存的不是地址p的值,而是p这个地址。
[/Quote]

是的,这样赋值是可以,可是输出的时候*p2和p2是不一样的,是个是数据,一个是地址
threenewbee 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huejim 的回复:]
引用 1 楼 caozhy 的回复:

* 有两个作用:(1)申明一个指针变量;(2)根据指针,求它对应的数据。

你说的 int *p = &amp;a; int b = *p; 前后两个星含义不同。


谢谢,

1申明指针变量我知道

2可是上面的都是你所说的求对应数据的,为什么函数可以省,其实也可以不省,但是普通的指针为什么必须得要带*。。。
[/Quote]
看2F。
huejim 2011-05-19
  • 打赏
  • 举报
回复
改正下
为什么函数指针可以省略*号,而普通指针必须要带*号呢

函数指针int (*p1)();和普通指针int* p2=&a;
在调用的函数指针的时候直接用p1();即可
而调用普通指针的时候必须要用*p2(这地方刚少个2)呢
huejim 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

* 有两个作用:(1)申明一个指针变量;(2)根据指针,求它对应的数据。

你说的 int *p = &a; int b = *p; 前后两个星含义不同。
[/Quote]

谢谢,

1申明指针变量我知道

2可是上面的都是你所说的求对应数据的,为什么函数可以省,其实也可以不省,但是普通的指针为什么必须得要带*。。。
threenewbee 2011-05-19
  • 打赏
  • 举报
回复
实际上以下代码也合法。
int *p = &a;
int b = p; // b 保存的不是地址p的值,而是p这个地址。
threenewbee 2011-05-19
  • 打赏
  • 举报
回复
* 有两个作用:(1)申明一个指针变量;(2)根据指针,求它对应的数据。

你说的 int *p = &a; int b = *p; 前后两个星含义不同。
内容概要:本文介绍了软件定义汽车(SDV)的最佳实践案例,重点围绕基于Vector技术的电子电气(E/E)架构设计与实现。文档展示了高算力计算平台(HPC)、区域控制器(Zone ECU)和车载网络(如CAN、Ethernet)的系统架构布局,并结合AUTOSAR操作系统(Classic/Adaptive)、虚拟化(Hypervisor)和SOA服务设计,构建现代化车载系统。通过vCANdrive平台演示了从开发、测试(SIL/HIL)、到OTA升级的全流程,涵盖传感器、执行器、应用层软件及云端协同的集成方案。同时展示了硬件原型(如树莓派、Triboard)和MICROSAR系列工具链在实际项目中的应用。; 适合人群:从事汽车电子系统开发、车载软件架构设计以及智能网联汽车研发的工程师和技术管理人员,具备一定的嵌入式系统或AUTOSAR基础者更佳。; 使用场景及目标:①理解软件定义汽车的整体架构设计方法;②掌握基于Vector工具链的HPC与区域控制器集成方案;③实现OTA更新、SIL/HIL测试、ETH-CAN通信转换等关键技术验证;④支持智能驾驶(ADAS)与智能座舱(IVI)系统的快速原型开发。; 阅读建议:建议结合Vector相关工具(如PREEvision、CANoe4SW、MICROSAR)进行实践操作,重点关注系统分层设计、通信机制与软件更新流程,同时可参考文档中的硬件连接示意图与信号映射关系进行仿真与实车验证。

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧