回 帖 发 新 帖 刷新版面

主题:[讨论]指针可以理解为快捷方式吗?

很多人都说指针是C/C++的精粹所在,个人也感觉很难学好,感觉就是比较抽象的东西,很难理解。曾经有人说:可以把指针理解为指向变量的快捷方式,请问这样对吗?欢迎讨论,谢谢。

回复列表 (共2个回复)

沙发

两者有相似之处,但不完全一样。指针拥有更多的功能,比如,指针可以移动:
int arr[5];
int* p = &arr[0];
p += 3; // 往后移动三个位置

又比如,可以计算两个指针之间的距离:
int arr[5];
int* p1 = &arr[1];
int* p2 = &arr[4];
ptrdiff_t distance = p1 - p2; // 计算p1和p2之间的距离

这些东西是快捷方式所不具备的。

板凳

多谢指点,听您一说一下子清楚了。
刚开始学C,被指针变量、指针、地址...搞晕了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册