|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
struct NodeT {
int data;
struct NodeT *next;
};
typedef struct NodeT node;
node *createNode(int v){
node *new;
new = (node *)malloc(sizeof(node));
assert(new != NULL);
new->data = v;
new->next = NULL;
return new;
}
大佬,下面的那个createNode,这是什么用法,我的意思是这也不是定义的函数,返回的还是一个结构体,不太懂
本帖最后由 jackz007 于 2019-3-5 20:53 编辑
楼主猜对了,node * createNode(int v) 还真是函数定义,请看以下示例:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <assert.h>
- typedef struct NodeT {
- int data ;
- struct NodeT * next ;
- } node ;
- node * createNode(int v)
- {
- node * n ; // 变量名不可以用 new 否则无法编译
- n = (node *) malloc(sizeof(node)) ; // 为链表新节点分配内存空间
- assert(n != NULL) ; // 确保内存分配成功
- n -> data = v ; // 为新节点赋值
- n -> next = NULL ; // 新节点链表指针指向 NULL
- return n ; // 返回指向新链表节点的指针
- }
- main(void)
- {
- node * p ;
- p = createNode(200) ; // 创建一个data 成员值为 200 的新节点
- printf("%d\n" , p -> data) ;
- }
复制代码
|
|