结构初探

it2022-05-11  71

最近一直在学C,发现C的很多代码编写方式和C#很像,命名和机制和汇编又很像,今天看到结构,感觉和面向对象语言的类差不多,这里做了个简单的对比,首先,实现了一个写文件的功能,功能很鸡肋,主要是,熟悉一下结构

View Code 1 #include "stdafx.h" 2 #include <stdio.h> 3 #include <string.h> 4 #include<conio.h> 5 #include<stdlib.h> 6 #include<stddef.h> 7 8 int _tmain(int argc, _TCHAR* argv[]) 9 { 10 struct{ /*定义一个结构变量*/ 11 12 char name[8]; 13 14 int age; 15 16 char sex[2]; 17 18 char depart[20]; 19 20 float wage1, wage2, wage3, wage4, wage5; 21 22 }a; 23 24 25 FILE *fp; 26 27 float wage; 28 29 char c='y'; 30 31 fp=fopen("wage.dat", "w"); 32 33 /*创建一个文件只写*/ 34 35 while(c=='Y'||c=='y') 36 37 /*判断是否继续循环*/ 38 39 { 40 41 printf("/nName:"); 42 43 scanf("%s", a.name); /*输入姓名*/ 44 45 printf("Age:"); 46 47 scanf("%d", &a.age); /*输入年龄*/ 48 49 printf("Sex:"); 50 51 scanf("%d", a.sex); 52 53 printf("Dept:"); 54 55 scanf("%s", a.depart); 56 57 printf("Wage1:"); 58 59 scanf("%f", &a.wage1); /*输入工资*/ 60 61 printf("Wage2:"); 62 63 scanf("%f", &a.wage2); 64 65 printf("Wage3:"); 66 67 scanf("%f", &a.wage3); 68 69 printf("Wage4:"); 70 71 scanf("%f", &a.wage4); 72 73 printf("Wage5:"); 74 75 scanf("%f", &a.wage5); 76 77 78 79 wage=a.wage1+a.wage2+a.wage3+a.wage4+a.wage5; 80 81 printf("The sum of wage is %6.2f/n", wage);/*显示结果*/ 82 83 fprintf(fp, 84 85 "%s%d%s%s%f/n", /*结果写入文件*/ 86 87 a.name, a.age, a.sex, 88 89 a.depart, wage); 90 91 while(1) 92 93 { 94 95 printf("Continue?<Y/N>"); 96 97 c=getche(); 98 99 100 101 if(c=='Y'||c=='y'||c=='N'||c=='n') 102 103 break; 104 105 } 106 107 } 108 109 fclose(fp); 110 111 //其中: addr为另一个结构的结构名, 必须要先进行, 说明, 即 112 //嵌套结构 113 // struct addr{ 114 // char name[8]; 115 // int age; 116 117 // } test; 118 119 //struct string{ 120 121 // char name[8]; 122 123 // int age; 124 125 // struct addr address; 126 127 // } student; 128 129 //结构指针 130 //struct name{ /*定义一个结构变量*/ 131 132 // char name[8]; 133 134 // int age; 135 136 // char sex[2]; 137 138 // char depart[20]; 139 140 // float wage1, wage2, wage3, wage4, wage5; 141 142 // }*b; 143 //b=(struct name*)malloc(sizeof(struct name)); //给指针分配空间 144 // b->age=20; 145 //printf("%d",b->age); 146 147 148 149 150 }

代码中注释的,是,结构的一些常用的方式

下面是c#简单的实体类

View Code 1 class Test 2 { 3 public string name { get; set; } 4 public int age { get; set; } 5 public string sex { get; set; } 6 public string depart { get; set; } 7 public wage wage_ { get; set; } 8 } 9 class wage 10 { 11 public int wage1 { get; set; } 12 public int wage2 { get; set; } 13 public int wage3 { get; set; } 14 public int wage4 { get; set; } 15 public int wage5 { get; set; } 16 }

 

 

转载于:https://www.cnblogs.com/kzblogs/archive/2012/09/12/2681704.html

相关资源:开放式数控系统软件体系结构初探

最新回复(0)