关于OOC(面向对象C编程),
看了一些别人的文章,有一点是确定的,就是利用C的结构体,来实现Java或者C++中类的功能,
比如目前要实现一个二叉树,用Java可以每次new一个节点,插入现有的树中,
在C中,如何实现?
据我目前了解,结构体赋值有很多限制,好像只可以在定义的时候赋值?
那我定义一个结构体,只能定义的同时赋值一次?
而我目前想做的是,定义一个结构体(比如树节点node),
用这个结构体(struct node)创建几十几百个实例出来,然后形成一棵树?
我是C新手,Java用惯了,如果问题幼稚请包涵,谢谢!
[code="C"]#include
typedef struct
{
int data1;
int data2;
}Node, *Pointer;
void construct(Pointer pNode,int para1,int para2)
{
pNode->data1=para1;
pNode->data2=para2;
}
void main()
{
Pointer node1= (Pointer)malloc(sizeof(Node));
free(node1);//用完要释放
}[/code]
[code="C"]typedef struct
{
int data1;
int data2;
}Node;
Node *node1=new Node;
void construct(Node *node,int para1,int para2)
{
node->data1=para1;
node->data2=para2;
}
delete node1;//用完要释放[/code]
大体情况就是这个样子的,结构体的操作函数必须多一个指针参数了(没有this)。
要手动释放资源