c - 学习 'Linked lists' 的速度太快,但又不太熟悉指针? #C语言初学者

标签 c arrays pointers memory-management linked-list

我目前完成了一本书中涉及“指针”的两章。

我当前需要更多练习的子主题是 - 使用指针符号代替数组符号并且 - 使用指针数组(在某种程度上)

疑问:

1)在我继续学习“链表”之前,我应该等待并首先通过指向更高级别的指针来建立我的舒适感,还是学习“链表”将帮助我获得指针?

2)您能给我指出一个链接或其他地方,我可以在其中找到与“指针”相关的练习吗?

3)我必须关注的指针中有哪些重要的子主题?

最佳答案

我的(这是主观的)是:

  1. 是的,链表的典型实现是一组节点,每个节点都有一个指向其后面的节点的指针(在单链表的情况下)。我认为最好至少熟悉空指针(在 C++11 中使用 nullptr)和指针取消引用。另外,了解例如什么也很好

    if(p == q)
        // do something
    

    表示如果 p 和 q 是指针。

  2. Pointer exercises (快速谷歌搜索)

  3. 对于我在 (1) 中提到的那些,我想说指针算术总是好的。例如,

    p[i];
    *(p+i);
    

    这些表达式是等价的(p 是指针)。我相信其他人会就重点关注的内容提供更多好的建议(双关语)。

关于c - 学习 'Linked lists' 的速度太快,但又不太熟悉指针? #C语言初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28927325/

相关文章:

c - 在C中保存一个指针地址

javascript - 如何在ajax中获取数组的值

c - 方括号内的指针?

c - 应用上下文 : modify return point of main()

c - NaN 生成函数的 "char-sequence"参数有什么用?

javascript - JavaScript 控制台中的值与数组不同

php - 将关联数组转换为具有值的多维数组

C++ 删除 - 它删除了我的对象,但我仍然可以访问数据?

c++ - 是否可以从兼容的IDE运行/调试(N)CURSES应用程序?

c - 从 C 中的文件读取时忽略\n?