需要解释结构C编程,不需要';我不懂代码
我刚开始学习结构,老师教得不好,我需要帮助澄清代码。如果我错了,请纠正我,谢谢 那么struct abc=结构的名称? 它包含3个字段,一个数组,学生号为整数,税为浮动类型 rec1,rec2是干什么的??如果rec1,rec2都是*rec1,*rec2,有什么区别需要解释结构C编程,不需要';我不懂代码,c,structure,C,Structure,我刚开始学习结构,老师教得不好,我需要帮助澄清代码。如果我错了,请纠正我,谢谢 那么struct abc=结构的名称? 它包含3个字段,一个数组,学生号为整数,税为浮动类型 rec1,rec2是干什么的??如果rec1,rec2都是*rec1,*rec2,有什么区别 非常感谢rec1和rec2是您使用该struct abc类型创建的两个变量 您可以通过以下方法轻松地将结构规范与变量创建分离: struct abc { char name[20]; int studno; float
非常感谢
rec1
和rec2
是您使用该struct abc
类型创建的两个变量
您可以通过以下方法轻松地将结构规范与变量创建分离:
struct abc
{
char name[20];
int studno;
float tax;
} rec1, rec2;
如果要将变量定义为:
struct abc {
char name[20];
int studno;
float tax;
};
struct abc rec1, rec2;
然后,rec3
将是指针类型,用于指向类型为struct abc
的变量问题:
name
(一个固定大小为20的字符数组),一个保存学生编号的整数:studno
,以及tax
——这是一个浮动变量rec1
和rec2
?rec1
和rec2
只是struct abc
的变量实例。这是一种在定义结构的同时自动声明两个变量的简写方法。例如,要在以后使用相同的结构定义声明变量,可以按如下操作:
struct abc *rec3;
rec1
和rec2
都是*rec1
和*rec2
-有什么区别?在这种情况下,您创建了两个类型为struct abc
的指针变量。这意味着它们可以指向struct abc
的变量或实例,而不是rec1
和rec2
,它们只是struct abc
的实例struct abc mystruct = {};//initialize the struct variable mystruct
但是,由于指针可以指向内存,rec1
和rec2
是struct abc类型的指针,这意味着您可以指向struct abc
的变量或实例。通常的用法是:
例2
struct abc mystruct = {};
mystruct.name = "My Name";
要访问结构元素,与第一个和第二个示例中常规结构中通常使用的点/访问运算符不同,您必须使用指向成员的指针运算符:
例3:
struct abc mystruct = {};
mystruct.name = "My Name";
struct abc *abc_pointer = &mystruct;//abc_pointer is now _pointing_ to mystruct
另一种方法是:
struct abc *abc_pointer = &mystruct;//abc_pointer is now _pointing_ to mystruct
abc_pointer->name = "Steve";//because you're pointing to mystruct, you can access and modify the values within. In this case, we're changing the name from "My Name" to "Steve"
当然,利用这些知识和能力,你可以做的远不止我所描述的。有关此主题的更多信息,请阅读以下内容:
(*abc_pointer).name = "Steve";