Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6579
  • 博文数量: 2
  • 博客积分: 106
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-30 23:38
文章分类

全部博文(2)

文章存档

2012年(2)

我的朋友
最近访客

分类: C/C++

2012-09-10 23:09:21

#include
#include
#include

typedef struct{
char size;
char data[1];
}Node;

int main(int argc, char *argv[])
{
char *s = "hello,world"
int len = 11;
Node *p = NULL;

p = (Node*)malloc(sizeof(Node)+len);
if(p != NULL){
p->size = len;
memmove(p->data, s, len);
}
free(p);
p = NULL;
return 0;
}
阅读(571) | 评论(2) | 转发(0) |
0

上一篇:没有了

下一篇:如何看IC的数据手册(Data Sheet)[转载]

给主人留下些什么吧!~~

gudder2012-09-14 21:07:55

fcgll521: p = (Node*)malloc(sizeof(Node)+len);
应该是
p = (Node*)malloc(sizeof(Node)*len);
吧!.....
是p = (Node*)malloc(sizeof(Node)+len);,我的用意是分配一个结构体空间,因为数据长度是可变的,所以在分配一个len长度空间,分配时候空间正好连续,而并不是分配len个结构体空间

fcgll5212012-09-14 17:27:10

p = (Node*)malloc(sizeof(Node)+len);
应该是
p = (Node*)malloc(sizeof(Node)*len);
吧!