gpt4 book ai didi

java - C 中结构之外的变量名

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:29 25 4
gpt4 key购买 nike

我正在阅读一本名为 C for Java Programmers 的书。它给出了一个我不理解的无名结构的例子。它说这是有效的:

struct{
int val1, val2;
double val3;
} s1,s2;

s1.val1 = 5;
s2.val3 = 4.6;

如果结构类似于 Java 中的对象,为什么我不能直接说 val1 = 5 和 val2 = 4.6?s1 和 s2 有什么意义?

谢谢

最佳答案

struct 在某种意义上类似于类,您可以将 struct 的成员视为类的公共(public)字段。因为这个结构没有名字,所以你只有 struct 声明末尾的实例(s1s2),因为你会需要 struct 的名称才能在其他地方创建实例。

为了给实例的成员赋值,您需要通过实例(s1s2)访问它们。

您可以将其与以下 Java 场景进行比较:您有一个包含三个公共(public)字段的类:val1val2val3,并且您您的类有两个实例:s1s2。为了给您的实例赋值,您需要通过实例访问成员:

s1.val1 = 5;
s2.val3 = 3.14;

struct 是无名的这一事实仅意味着除了声明末尾的实例之外,您不能创建其他实例,但对访问实例成员的方式没有影响。

关于java - C 中结构之外的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com