struct打包?

struct封装???
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define ERRP(con, ret) do{ \
if (con) \
{ \
ret; \
} \
}while(0)

struct class_t {
char name[128];
int age;
int sex;
int id;
int cn;
int en;
};

int main(void)
{
struct class_t stu;
int i = 10, j = 0;
int count = 0;
struct class_t *p = NULL, *prev = NULL;

/*srand(time(NULL));*/
/*srand(getpid());*/
while(1)
{
printf("please input  %d char:", count + 1);
scanf("%c", &ch);
if (ch == 'q')
break;
while(getchar() != '\n');
;
/*printf("%d \n", num);*/

p = (char *)malloc((count + 1) * sizeof(char));
ERRP(NULL == p, return -1);

memmove(p, prev, sizeof(char) * (count));
p[count] = ch;
free(prev);
prev = p;
count++;
}
putchar(10);

for (i = 0; i < count; i++)
{
printf("%c ", p[i]);
}
printf("\n");
free(p);
return 0;
}


如上,老师要求封装struct,并且搞成通用struct??什么意思啊。。。好纠结啊 完全没头绪啊。。。各位大神们。。。。我只能做到这里,把他变成可以用struct给顺序表,也许还是错的?。。。不会吧
struct

------解决方案--------------------
单看问题的话, 我猜测你们老师的意思应该是将struct通用化(一般使用sequentialization), 在网络传输中由于字节序,CPU体系结构,字节填充等问题, 造成结构体不能形成通用结构体,
楼主可查阅有关sequentialization和网络编程消息传输问题即可解决问题了(比如转化成xml, tpl等)。
------解决方案--------------------
是指将结构体的输入和输出用单个函数模块化吧。
如果是这样的化,像类那样封装就可以了,构造函数,set和get的接口,输出函数等等。