![]() |
1
3
也许是“好像”的意思。现实世界中的C实现没有您所描述的文字映射。事实上,变量的标识符在运行时根本不可用。在程序运行之前,它们在编译和/或链接时被解析为地址。
自动分配的对象的生命周期在其标识符超出范围时结束。这可能与您所描述的“丢弃”一词的含义和含义完全相同,也可能不完全相同。
是的,分配是一个复制操作。但是在这个特定问题的上下文中,理解被复制(赋值)的值是什么是很重要的。特别是,指针是C中的一级对象,不同于它们所指向的对象(如果有的话)。将指针值赋给不同的指针与将一个指向对象的值赋给另一个指向对象是完全不同的操作。
是的,在C中,具有结构类型的对象是可以直接访问的,将其指定给一个对象会修改对象本身。但请注意,这样的赋值操作是肤浅的,因为当任何结构成员都是指针时, 指示者 复制,将该成员保留为原始结构的相应成员的别名。
指针 ,其值表示地址。这是一个非常相似的概念,但不是一个完全相同的概念。
无论如何,你对接线员地址的理解,
您的示例演示了一种创建指向结构对象的指针的方法,而无需声明对象本身(从而使其自动分配并与自己的标识符相关联)。不过,请注意,尽管这让人想起在Javascript中通过引用处理对象,但它与 通过引用传递
|
![]() |
Tono Nam · 无法在golang中通过引用修改对象 3 年前 |
![]() |
uzivanky · 课堂上不同的“this” 7 年前 |
![]() |
Henry Marshall · 通过引用替换JS对象[重构工作代码] 7 年前 |
|
user9441223 · 通过引用传递对象并将其存储为成员变量 7 年前 |
![]() |
Enryu · 参考变量参数vs局部参考变量[关闭] 7 年前 |
![]() |
Tryer · 计算不同类别对象的数量 7 年前 |