下面是关于二叉树的代码----pos
代表了根据前序遍历pre_str
确定了根节点在中序遍历中的位置.
int pos = strchr(in_str, pre_str[0]) - in_str;
我知道指针就是代表地址的一个 unsigned int
, 我想问的是这样直接用指针加减来得到的位置为什么不考虑到 sizeof(int)
, 是说这些指针都是和数据类型的size
无关的吗? 有错误的话请大家指正下.
下面是关于二叉树的代码----pos
代表了根据前序遍历pre_str
确定了根节点在中序遍历中的位置.
int pos = strchr(in_str, pre_str[0]) - in_str;
我知道指针就是代表地址的一个 unsigned int
, 我想问的是这样直接用指针加减来得到的位置为什么不考虑到 sizeof(int)
, 是说这些指针都是和数据类型的size
无关的吗? 有错误的话请大家指正下.
3 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答796 阅读
1 回答872 阅读
1 回答902 阅读
1 回答672 阅读
1 回答779 阅读
指针的加减就已经把偏移量算进去了,比如int*的指针加n,其内存地址就是加n*sizeof(int),并不是按照内存地址直接来加减的。