c - (*exptr)->cnt 与 exptr->cnt 或 (*exptr).cnt 相同吗?

标签 c pointers

(*pointer)->name 是否与 pointer->name(*pointer).name 相同?

最佳答案

没有。

(*pointer)->name 说“获取 pointer 指向的东西。获取它指向的结构并从中获取 name 成员。”为此,pointer 必须是指向结构指针的指针。例如,它可以声明为 struct foo **pointer

pointer->name 表示“获取 pointer 指向的结构并从中获取 name 成员。”为此,pointer 必须是指向结构的指针。它可以声明为 struct foo *pointer

(*pointer).name 表示“获取 pointer 指向的结构。从中获取 name 成员。”它还必须是指向结构的指针

(前两者的唯一区别是后者在源代码中使用了一个运算符,实际执行的操作是相同的。)

关于c - (*exptr)->cnt 与 exptr->cnt 或 (*exptr).cnt 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54584008/

相关文章:

c - - 运算符对 char * 有何作用?

c - 在 ansi c 中读取和格式化文本文件

c++ - 我试图访问 C++ 多态类的 vtable,但由于核心转储而失败,为什么?

C动态分配struct

c - 将 "complex"结构写入 FIFO

c - 错误 C2296 : '*' : illegal, 左操作数的类型为 'int *'

c - printf 是否总是在遇到换行符时刷新缓冲区?

c - GtkFileChooserButton 中的 SIGSEGV

c - 哈希表中的链表(带结构)

C 复制带有两个指针的链表