首页 > 代码库 > 数组、结构体、联合体、枚举类型、类型转换
数组、结构体、联合体、枚举类型、类型转换
1、数组
int num[2] = { 1, 2 };//1×2,num[0]=1 int num[2][2] = { { 00, 01 }, { 10, 11 } };//2×2,num[1][1]=11 int num[2][2][2] = { {{000,001},{010,011}}, {{100,101},{110,111}} };//2个2×2数组,num[1][1][1]=111
2、结构体
#include <stdio.h> int main() { struct Family{ int age; char name[32]; //分配内存,占32字节 char address[64]; }wei;//Family结构体名,wei变量名,“;”不可省略 //或写成struct Family wei; //若wei是wei[5],则为结构体数组 printf("Input age:"); scanf("%d", &wei.age); printf("Input name:"); scanf("%s", &wei.name); printf("Input address:"); scanf("%s", &wei.address); printf("name:%s\n", wei.name); printf("age:%d\n", wei.age); printf("address:%s", wei.address); return 0; }
3、联合体
#include <stdio.h> int main() { union Family{ int age; char name[32]; char address[64]; }wei;//Family联合名,wei变量名,“;”不可省略 //或写成union Family wei; printf("Input age:"); //输入一次,显示一次,因为新的赋值会替换掉 scanf("%d", &wei.age); printf("age:%d\n", wei.age); printf("Input name:"); scanf("%s", &wei.name); printf("name:%s\n", wei.name); printf("Input address:"); scanf("%s", &wei.address); printf("address:%s", wei.address); return 0; }
结构体与联合体区别:
内存:struct为所有变量占用字节之和;union为最大成员变量占用的字节数
赋值有效值:struct每个成员变量各自赋值;union最后一次赋值有效
4、枚举类型
#include<stdio.h> int main() { enum Choice{a,b,c=64,d};//enum 枚举类型名{枚举元素列表}; printf("a=%d\n", a);//第一个元素默认为0,依次递增1.a=0 printf("d=%d\n", d);//若已赋值,则之后元素依次递增1.d=65 printf("d=%c\n", d);//元素可以赋值给任意数据类型。d=A return 0; }
5、类型转换(字符-数,整-浮点)
#include<stdio.h> #include<stdlib.h>//函数依赖的头文件 int main() { char *str = "12.34";//定义字符串变量 printf("字符串转整数:%d\n", atoi(str));//函数atoi(),12 printf("字符串转浮点数:%f\n", atof(str));//函数atof(),12.340000 return 0; } -------------------------------------------------------------------------------- #include<stdio.h> int main() { int num = 65; printf("%f\n",num);//整型转浮点型 float f = (float)num; printf("%f\n",f);//与上等效 return 0; }
数组、结构体、联合体、枚举类型、类型转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。