C是过程式语言,比起面向对象语言,要将一个模型对应到C代码,是有些麻烦的。
比如我要建立一个链表,在链表首部插入元素,如果在C++中,我很容易将这个模型对应到C++代码,
std::list<int> intList;
intList.push_front(3);
而C的代码,
typedef struct IntList IntList;
struct IntList
{
int val;
IntList *next;
};
IntList *pList = NULL;
IntList *pElem = (IntList*)malloc(sizeof(IntList));
pElem->val = 3;
pElem->next = pList;
pList = pElem;
free(pElem);
在C中,你定义了一个数据结构,然后使用算法将数据结构映射成我们想要的模型,但是如上看到了,真是困难重重,
开发成本很高,而且很容易造成错误,C语言真是Expert使用的。
比如我要建立一个链表,在链表首部插入元素,如果在C++中,我很容易将这个模型对应到C++代码,
std::list<int> intList;
intList.push_front(3);
而C的代码,
typedef struct IntList IntList;
struct IntList
{
int val;
IntList *next;
};
IntList *pList = NULL;
IntList *pElem = (IntList*)malloc(sizeof(IntList));
pElem->val = 3;
pElem->next = pList;
pList = pElem;
free(pElem);
在C中,你定义了一个数据结构,然后使用算法将数据结构映射成我们想要的模型,但是如上看到了,真是困难重重,
开发成本很高,而且很容易造成错误,C语言真是Expert使用的。