学习速度太快 'Linked lists' 而对 Pointers 还不是很满意? #C语言初学者
Going too fast to learn 'Linked lists' while not completely comfortable with Pointers? #C Language beginner
我目前在一本书中完成了涵盖 'Pointers' 的两章。
我目前需要更多练习的子主题是
- 使用指针符号而不是数组符号和
- 使用指针数组(在某种程度上)
疑惑:
1) 在我继续学习 'linked lists' 之前,我应该等待并首先通过更高水平的指导来建立我的舒适感,还是学习 'linked lists' 会帮助我获得指导?
2) 你能给我指点一个 link 或者我可以找到 'pointers' 相关练习的东西吗?
3)我必须关注的指针中有哪些重要的子主题?
我的(这是主观的)是:
是的,链表的典型实现是一组节点,每个节点都有一个指向其后节点的指针(在单链表的情况下)。我认为最好至少熟悉空指针(在 C++11 中使用 nullptr)和指针取消引用。另外,最好理解例如
if(p == q)
// do something
意味着,如果 p 和 q 是指针。
Pointer exercises(快速 google 搜索)
以上我在(1)中提到的那些我会说指针算法总是好的。例如,
p[i];
*(p+i);
这些表达式是等价的(p 是一个指针)。我相信其他人会就关注点提供更多好的建议(双关语)。
我目前在一本书中完成了涵盖 'Pointers' 的两章。
我目前需要更多练习的子主题是 - 使用指针符号而不是数组符号和 - 使用指针数组(在某种程度上)
疑惑:
1) 在我继续学习 'linked lists' 之前,我应该等待并首先通过更高水平的指导来建立我的舒适感,还是学习 'linked lists' 会帮助我获得指导?
2) 你能给我指点一个 link 或者我可以找到 'pointers' 相关练习的东西吗?
3)我必须关注的指针中有哪些重要的子主题?
我的(这是主观的)是:
是的,链表的典型实现是一组节点,每个节点都有一个指向其后节点的指针(在单链表的情况下)。我认为最好至少熟悉空指针(在 C++11 中使用 nullptr)和指针取消引用。另外,最好理解例如
if(p == q) // do something
意味着,如果 p 和 q 是指针。
Pointer exercises(快速 google 搜索)
以上我在(1)中提到的那些我会说指针算法总是好的。例如,
p[i]; *(p+i);
这些表达式是等价的(p 是一个指针)。我相信其他人会就关注点提供更多好的建议(双关语)。