动态使用结构数据大小
2008-07-03 10:48
274 查看
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/********************************************
Function : Actual use the size of struct
is less than declared size.
using memcpy()
********************************************/
int main()
{
struct aStr
{
int a;
double b;
char c;
};
struct Data
{
struct aStr aBuyStr[20] ;
struct aStr aSellStr[20] ;
char temp ;
int p ;
};
struct ActualData
{
struct aStr aBuyStr[5] ;
struct aStr aSellStr[5] ;
char temp ;
int p ;
};
int num = 0 ;
char caBuffer[1000] ;
struct Data sData ;
struct Data *pData ;
struct ActualData *pActualData ;
pData = &sData ;
memset(pData,NULL,sizeof(struct Data));
memset(caBuffer,NULL,1000);
printf("Pls input the num of struct :/n");
scanf("%d",&num);
for(int i=0;i<20;i++)
{
pData->aBuyStr[i].a = i;
pData->aBuyStr[i].b = i+1;
pData->aBuyStr[i].c = 'B';
pData->aSellStr[i].a = i+10;
pData->aSellStr[i].b = i+11;
pData->aSellStr[i].c = 'S';
pData->temp = 'd';
pData->p = i+2;
}
memcpy(caBuffer,pData,num*sizeof(struct aStr));
memcpy(caBuffer+num*(sizeof(struct aStr)),pData,20*sizeof(struct aStr));
memcpy(caBuffer+10*(sizeof(struct aStr)),pData,40*sizeof(struct aStr));
pActualData = (struct ActualData *)caBuffer ;
return 0;
}
#include <stdlib.h>
#include <string.h>
/********************************************
Function : Actual use the size of struct
is less than declared size.
using memcpy()
********************************************/
int main()
{
struct aStr
{
int a;
double b;
char c;
};
struct Data
{
struct aStr aBuyStr[20] ;
struct aStr aSellStr[20] ;
char temp ;
int p ;
};
struct ActualData
{
struct aStr aBuyStr[5] ;
struct aStr aSellStr[5] ;
char temp ;
int p ;
};
int num = 0 ;
char caBuffer[1000] ;
struct Data sData ;
struct Data *pData ;
struct ActualData *pActualData ;
pData = &sData ;
memset(pData,NULL,sizeof(struct Data));
memset(caBuffer,NULL,1000);
printf("Pls input the num of struct :/n");
scanf("%d",&num);
for(int i=0;i<20;i++)
{
pData->aBuyStr[i].a = i;
pData->aBuyStr[i].b = i+1;
pData->aBuyStr[i].c = 'B';
pData->aSellStr[i].a = i+10;
pData->aSellStr[i].b = i+11;
pData->aSellStr[i].c = 'S';
pData->temp = 'd';
pData->p = i+2;
}
memcpy(caBuffer,pData,num*sizeof(struct aStr));
memcpy(caBuffer+num*(sizeof(struct aStr)),pData,20*sizeof(struct aStr));
memcpy(caBuffer+10*(sizeof(struct aStr)),pData,40*sizeof(struct aStr));
pActualData = (struct ActualData *)caBuffer ;
return 0;
}
相关文章推荐
- 动态使用结构数据大小
- 动态数据结构——动态链表(malloc函数的使用)
- 算法(第四版) 能够动态调整数组大小的队列数据结构
- 数据结构——栈的使用
- JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法
- 数据结构——使用非递归方法后序遍历二叉树
- jsp中使用动态数据进行mySQL数据库的两种操作方法
- DB2 db2move导入导出数据及使用dblook导出表结构DDL
- 数据结构6:使用栈计算逆波兰表达式
- 使用sizeof运算符确定基本数据类型大小
- asp.net 中使用datagrid编辑数据,比较两列的大小
- 使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
- 使用bitmap对一个大小在一定范围内的无重复数据排序(比如电话号码)|在一个大小在一定范围内的数据集中查找重复数据
- ReportViewer 使用DataSet 结构 与 linQ 填充 DataSet数据
- (编程训练)再回首,数据结构——(升级版)使用栈判断括号匹配
- 数据结构——实验一 VC编程工具的灵活使用
- Oracle使用PL/SQL脚本给表结构相同的动态表添加字段
- 关于从后台传来的json数据,使用jquery动态展现所有的item,给每个item添加删除功能
- Redis 数据结构使用场景
- js动态添加表格数据使用insertRow和insertCell实现