C语言结构体的“继承”

这里说的继承有点像C++里的父类和子类,香港虚拟主机,实际上是结构体类型的强制转换,最近看Linux内核源码时经常接触到这种方法,在这里就当作是一个简单的学习吧。

下面给出一个Demo,很简单,分别定义了一个father结构体和一个son结构体,香港服务器,father结构体里定义了2个整形变量,网站空间,son结构体里的第一个成员是father结构体类型的变量,son里的另外2个成员也是整形变量,这样,son结构体就好像继承了father结构体,并增加了2个成员,代码如下:

1 #include <stdio.h> father 5 { 6int f1; 7int f2; 8 }; son12 { father fn; s1;17int s2;18 };test(struct son *t)21 {father *f = (struct father *)t;printf(,f->f1);,f->f2);f->f1 = 30;29f->f2 = 40;30 }main(void)33 {34struct son s;35s.fn.f1 = 10;36s.fn.f2 = 20;37 38test(&s);printf(,s.fn.f1);,s.fn.f2);;44 }有时不但是必要的,而且是很有必要的。

C语言结构体的“继承”

相关文章:

你感兴趣的文章:

标签云: