msgbuf实现mtext[1]可变长代码
来源:互联网 发布:kbengine java 编辑:程序博客网 时间:2024/06/03 08:13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//定义类型
typedef struct msgbuf{
int msize;
char mtext[1];
}msgbuf_t;
int main(void){
char string[]="hello";
msgbuf_t *msg=(msgbuf_t *)malloc(sizeof(msgbuf_t)+strlen(string)-4);
msg->msize=sizeof(msgbuf_t)+strlen(string)-4;
strcpy(msg->mtext,string);
printf("mtext=%s\n",msg->mtext);
free(msg);
msg=NULL;
return 0;
#include <stdlib.h>
#include <string.h>
//定义类型
typedef struct msgbuf{
int msize;
char mtext[1];
}msgbuf_t;
int main(void){
char string[]="hello";
msgbuf_t *msg=(msgbuf_t *)malloc(sizeof(msgbuf_t)+strlen(string)-4);
msg->msize=sizeof(msgbuf_t)+strlen(string)-4;
strcpy(msg->mtext,string);
printf("mtext=%s\n",msg->mtext);
free(msg);
msg=NULL;
return 0;
}
/*实现了动态内存非配,根据所传字符串的大小分配msgbuf_t结构体的大小,合理避免空间浪费*/
阅读全文
0 0
- msgbuf实现mtext[1]可变长代码
- C实现可变长数组
- 【转】可变长结构体实现
- C语言可变长参数实现“多态”
- C,C++可变长参数实现
- C语言可变长参数实现原理
- C语言可变长参数实现原理
- 协议设计:可变长帧的实现
- 运算重载实现可变长数组
- C++ 可变长数组类的实现
- 模拟实现通讯录(可变长)
- StringBuffer、StringBuilder、如何实现可变长
- 可变长数组的 OO 实现
- 可变长数组在gcc编译器中的实现
- 可变长数组在GCC编译器中的实现
- C语言:va_start、va_end、va_arg 实现可变长参数
- 实现可变长数组的数组-征服C指针
- C语言 可变长参数函数的实现
- 对象的notify方法的含义和对象锁释放的三种情况
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
- Python 直接赋值、浅拷贝和深度拷贝解析
- 合并石子(求最小代价)
- JavaIOUtils
- msgbuf实现mtext[1]可变长代码
- 十进制转二进制
- 自定义开源控件的绘制实例-——价格区间图
- MVC中创建的数据库实体获取数据的基本语法
- lambda表达式-java中的应用
- form表单
- idea安装阿里巴巴java规范插件的两种方式
- ie浏览器日期(时间)字符串的坑
- Hive之——整合MySQL存储元数据信息及基本操作示例