c语言结构体指针动态存储空间,c语言指针与结构体之内存动态分配

struct dangdangtest

{

char email[];

char name[];

char addr[];

int num;

int bugnum;

char tel[];

char phone[];

double RMB;

};

void main2()

{

//struct dangdangtest dd[1024*1024];//数组越界

//动态分配一个元素

struct dangdangtest *p = (struct dangdangtest *)malloc(sizeof(struct dangdangtest)*);

//写数据

sprintf(p->email,"[email protected]");//初始化

sprintf(p->name,"lj");

sprintf(p->addr,"重庆");

p->num = ;

p->bugnum = ;

sprintf(p->tel,"");

sprintf(p->phone,"");

p->RMB = 52.24;

//读数据

printf("\n%s,%s,%s,%d,%d,%s,%s,%f",p->email,p->name,p->addr,p->num,p->bugnum,p->tel,p->phone,p->RMB);

getchar();

}

void main()

{

int i;

struct dangdangtest *p = NULL;

struct dangdangtest *px = NULL;

p= (struct dangdangtest *)malloc(sizeof(struct dangdangtest)*);

//方式一 P[i]等价于一个结构体 数组访问的方式

//p[i]=p+i

/*for(i=0;i<10;i++)

{

sprintf(p[i].name,"lj%d",i);

sprintf(p[i].addr,"重庆%d",i);

p[i].num = 100;

printf("\n%s,%s,%d",p[i].name,p[i].addr,p[i].num);

}*/

//指针访问的方式

//for(i=0;i<10;i++)

//{

// //加上大括号 避免优先级的歧义

// sprintf((*(p+i)).name,"lj%d",i);

// sprintf((*(p+i)).addr,"重庆%d",i);

// (*(p+i)).num = 100;

// printf("\n%s,%s,%d",(*(p+i)).name,(*(p+i)).addr,(*(p+i)).num);

//}

//指针轮寻

px = p;

for(px;px

{

sprintf(px->email,"lj%x",px);

sprintf(px->addr,"重庆%x",px);

px->num = ;

printf("\n%s,%s,%d",px->email,px->addr,px->num);

}

getchar();

}

注意测试的时候main处修改 和注释就好了

36深入理解C指针之---结构体的内存处理

一.有关结构体的内存处理包括,结构体指针和结构体成员指针的内存分配.结构体成员的数据对齐.结构体的内存释放 1.定义:与自定义数据类型(结构体)有关的内存分配.大小和释放问题 2.特征: 1).用内存 ...

c语言指针与结构体

#include #include struct mydata { int num; ]; }; void main1() { /*i ...

数据结构复习之C语言指针与结构体

数据结构指针复习: #include void main() { ] = {, , , , }; // a[3] == *(3+a) printf(+a)); // a ...

[todo0211]c语言指针,结构体的疑问

#include #include struct ListNode { int val; struct ListNode *ne ...

C语言 结构体的内存对齐问题与位域

http://blog.csdn.net/xing_hao/article/details/6678048 一.内存对齐 许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地 ...

C语言结构体及其内存布局

code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...

结构体,内存,指针例题.DOC

2015.1.30 递归函数:1.自身调用自己:2.要有结束条件!typedef 后面加分号:一般后面的重定义名加_,例如:typedef unsigned long int uint_16;结构体成 ...

C语言结构体的内存对齐问题

在C语言开发当中会遇到这样的情况: #include struct test { int a; char b; }; int main(int argc, const ...

Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型

Android For JNI(五)--C语言多级指针,结构体,联合体,枚举,自定义类型 我们的C已经渐渐的步入正轨了,基础过去之后,就是我们的NDK和JNI实战了 一.多级指针 指针的概念我们在前面 ...

随机推荐

Windows下搭建PHP开发环境

PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

nginx笔记资料

通配 hash 表 ngx_hash_init 实现注释:http://blog.csdn.net/gsnumen/article/details/7817396 ngx_hash_init之后的结构 ...

RDIFramework.NET开发实例━表约束条件权限的使用-WinForm

RDIFramework.NET开发实例━表约束条件权限的使用-WinForm 在实际的应用中,客户常有这样的需求,指定用户或角色可以看指定条件下的数据,这里的“指定条件”在RDIFramework. ...

Scrum Meeting 5-20151207

任务安排 姓名 今日任务 明日任务 困难 董元财 将服务器转移到学校服务器 修复app特定情况下崩溃 无 胡亚坤 学习连接服务器框架 发布界面和购买界面 无 刘猛 在github上分配好任务 写博客 ...

HBase with MapReduce (SummaryToFile)

上一篇文章是实现统计hbase单元值出现的个数,并将结果存放到hbase的表中,本文是将结果存放到hdfs上.其中的map实现与前文一直,连接:http://www.cnblogs.com/ljy20 ...

Sprint Three 回顾与总结&;发表评论&;团队贡献分

● 一.回顾与总结 (1)回顾 燃尽图: Sprint计划-流程图: milestones完成情况如下: (2)总结 从sprint one到three,我们团队配合十分默契,互相帮助,虽然遇到了不少 ...

ASP.NET的SEO:使用.ashx文件&mdash;&mdash;排除重复内容

本系列目录 不同的链接指向的页面如果具有大量相同的内容,这种现象就会被称为"重复内容",如果一个网站的重复内容很多,搜索引擎就会认为这个网站的价值不高.所以我们应尽量避免各种重复内 ...

转:Maven介绍(创建工程项目以及下载所需要的jar包)

http://blog.csdn.net/guanghua2009/article/details/6644111 目前我还不太会用maven,慢慢学吧 目前就是用来下载自己要的jar包,先根据这篇转 ...

zoj Simple Equation 数论

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5176 AX+BY = XY  => (X-B)*(Y-A)= ...

Directx 3D编程实例:多个3D球的综合Directx实例

最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要.写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博客 ...

你可能感兴趣的:(c语言结构体指针动态存储空间)