去哪找网站建设公司,连云港网站制作公司哪家好,淘宝联盟 网站建设 内容少,深圳民治网站建设访问结构体成员
要访问结构体的成员#xff0c;请使用点语法 (.):
// 创建名为 myStructure 的结构体
struct MyStructure {int myNum;char myLetter;
};int main() {// 创建名为 s1 的 myStructure 的结构体变量struct MyStructure s1;// 为 s1 的成员分配值s1.myNum 13;s…访问结构体成员
要访问结构体的成员请使用点语法 (.):
// 创建名为 myStructure 的结构体
struct MyStructure {int myNum;char myLetter;
};int main() {// 创建名为 s1 的 myStructure 的结构体变量struct MyStructure s1;// 为 s1 的成员分配值s1.myNum 13;s1.myLetter B;// 打印值printf(My number: %d\n, s1.myNum);printf(My letter: %c\n, s1.myLetter);return 0;
}现在您可以使用只使用一个结构体轻松创建多个具有不同值的结构体变量
// 创建不同的结构体变量
struct MyStructure s1;
struct MyStructure s2;// 为不同的结构体变量分配值
s1.myNum 13;
s1.myLetter B;s2.myNum 20;
s2.myLetter C;如何在结构体中使用字符串
请记住C 语言中的字符串实际上是字符数组不幸的是您无法像这样为数组分配值
struct MyStructure {int myNum;char myLetter;char myString[30]; // 字符串
};int main() {struct MyStructure s1;// 尝试为字符串分配值s1.myString Some text;// 尝试打印值printf(My string: %s, s1.myString);return 0;
}会发生错误
prog.c:12:15: error: assignment to expression with array type
但是有一个解决办法您可以使用 strcpy() 函数并将值分配给 s1.myString如下所示
struct MyStructure {int myNum;char myLetter;char myString[30]; // 字符串
};int main() {struct MyStructure s1;// 使用 strcpy 函数为字符串分配值strcpy(s1.myString, Some text);// 打印值printf(My string: %s, s1.myString);return 0;
}结果
My string: Some text
更简单的语法
您也可以在声明时为结构体变量的成员分配值只需一行。
只需在花括号 {} 内插入一个以逗号分隔的列表中的值。请注意您不必使用 strcpy() 函数来为字符串值使用此技术
// 创建结构体
struct MyStructure {int myNum;char myLetter;char myString[30];
};int main() {// 创建一个结构体变量并为其分配值struct MyStructure s1 {13, B, Some text};// 打印值printf(%d %c %s, s1.myNum, s1.myLetter, s1.myString);return 0;
}注意插入的值的顺序必须与结构体中声明的变量类型的顺序一致对于 int 为 13对于 char 为 ‘B’等等。
C 语言中的枚举 (enum)
枚举 (enum) 是一种特殊类型用于表示一组常量不可更改的值。
要创建枚举请使用 enum 关键字后跟枚举的名称并用逗号分隔枚举项
enum Level {LOW,MEDIUM,HIGH
};注意最后一个项目不需要逗号。
使用大写字母不是必需的但通常被认为是良好的实践。
Enum 是“enumerations”的缩写意为“特别列出”。
要访问枚举您必须创建一个变量。
在 main() 方法中指定 enum 关键字后跟枚举的名称 (Level) 和枚举变量的名称 (myVar)
enum Level myVar;现在您已创建了一个枚举变量 (myVar)可以为其分配一个值。
分配的值必须是枚举中的项目之一 (LOW、MEDIUM 或 HIGH)
enum Level myVar MEDIUM;默认情况下第一个项目 (LOW) 的值为 0第二个 (MEDIUM) 的值为 1依此类推。
如果现在尝试打印 myVar它将输出 1表示 MEDIUM
int main() {// 创建一个枚举变量并为其分配一个值enum Level myVar MEDIUM;// 打印枚举变量printf(%d, myVar);return 0;
}更改值
如您所知枚举的第一个项目的值为 0。 第二个值为 1依此类推。
为了使值更易于理解您可以轻松地更改它们
enum Level {LOW 25,MEDIUM 50,HIGH 75
};
printf(%d, myVar); // 现在输出 50请注意如果您为一个特定项目分配值则下一个项目将相应地更新其编号
enum Level {LOW 5,MEDIUM, // 现在为 6HIGH // 现在为 7
};枚举在 switch 语句中
枚举通常在 switch 语句中使用以检查相应的值
enum Level {LOW 1,MEDIUM,HIGH
};int main() {enum Level myVar MEDIUM;switch (myVar) {case 1:printf(Low Level);break;case 2:printf(Medium level);break;case 3:printf(High level);break;}return 0;
}为什么和何时使用枚举
枚举用于为常量命名这使代码更易于阅读和维护。
当您拥有不会改变的值时例如月天、日、颜色、纸牌等等请使用枚举。
最后
为了方便其他设备和平台的小伙伴观看往期文章
微信公众号搜索Let us Coding关注后即可获取最新文章推送
看完如果觉得有帮助欢迎 点赞、收藏、关注