C语言|结构声明/new对象/malloc使用
今天用C语言写了Leetcode707设计链表题,发现自己对C语言中结构的声明以及malloc的使用不是很熟悉。
题目中给出了这样一个结构体:
typedef struct {int val; //value fieldstruct MyLinkedList *next; //next field of linked list, 声明一个结构类型的指针
} MyLinkedList;
这时候c语言声明该结构的实体的语法如下:
struct MyLinkedList *head; //struct是声明结构体类型时必须使用的关键字,不能省略,它向编译系统声明这是一个结构体类型
C语言在heap中new一个对象的语法如下:
MyLinkedList *head = (MyLinkedList*) malloc(sizeof(MyLinkedList)); //注意sizeof里面的参数是一个size_t类型的而不是head这个实体对象 //最好在malloc前加一个类型转换的标志(MyLinkedList*)声明该对象的数据类型 //这里不需要加struct关键字
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
