在使用面向对象的编程语言时,我们处理数据库的数据喜欢编写与之对应的实体类,让数据表中的字段与实体类中的属性一一对应,以方便程序操作。
今天看C语言中的结构体,才恍然大悟,原来这一思想一早就有了,例如C语言中的结构体,我认为它就是最早的实体。
看看书中的一个小例子:
- #include <string.h>
- struct vote{
- char name[16];
- int num;
- };
- struct vote stu[4] = {{"zhao",0},{"qian",0},{"sun",0},{"li",0}};
- main(){
- int i,j;
- char v[16];
- for(i = 0; i < 10; i++)
- {
- scanf("%s",v);
- for(j = 0; j < 4; j++){
- if(strcmp(v,stu[j].name)==0) stu[j].num++;
- }
- }
- for(j = 0; j < 4; j++){
- printf("name:%s,num:%d/n",stu[j].name,stu[j].num);
- }
- }
一个小小的投票程序,使用结构体,可以很方便、很容易理解地写出程序。如果使用数组的话,方便是方便了,就是不容易理解,因为必需把相关的数据存放在不相关的数据中,引用的时候也不能“望文思义”。
另外一点,今天看结构体其它是跳着看的,前面还有一点点指针的知识没有看完。但是看着指针的运算,实在太让大脑迷糊了,想想,其实跳着先把容易理解的东西读读也是可以的,也许从学习的进度来说,这样还会更有效率一些。相对来说,结构体的概念更趋近于“基础”。