`
wsql
  • 浏览: 11795508 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

给结构体指针分配动态存储空间和静态存储空间

 
阅读更多

1 #include "stdio.h"

2 #include "malloc.h"

3

4 int main(void)

5 {

6 struct PEOPLE{

7 char name[10];

8 int age;

9 int weigth;

10 int heigth;

11 }infos;

12

13 struct PEOPLE *p; /*指向结构体的指针*/

14 p = malloc(sizeof(struct PEOPLE)); /*分配动态空间,并且返回一个指向空间初始位置的指针*/

15 if(p == NULL){ /*这部非常重要,如果你用malloc申请空间*/

16 printf("Out of memory!\n"); /*就必须要判断空间是否成功,成功返回指针并指向空间起点*/

17 exit(1); /*失败则返回NULL*/

18 }

19

20 scanf("%s %d %d %d", &p->name, &p->age, &p->weigth, &p->heigth);

21 /*给结构体成员赋值*/

22 printf("Name:%s | Age:%d | Wei.:%d | Hei.:%d\n", p->name, p->age, p->weigth, p->heigth);

23

24 free(p); /*有申请就要有释放,有借有还,再借不难*/

25 return 0;

26

27 }


分享到:
评论

相关推荐

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    4.12.1 动态存储方式与静态存储方式 4.12.2 自动变量 4.12.3 用static声明静态局部变量 4.12.4 用register声明寄存器变量 4.12.5 用extern声明外部变量 4.12.6 用static声明静态外部变量 4.13 变量属性小结 4.14 ...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    4.12.1 动态存储方式与静态存储方式 4.12.2 自动变量 4.12.3 用static声明静态局部变量 4.12.4 用register声明寄存器变量 4.12.5 用extern声明外部变量 4.12.6 用static声明静态外部变量 4.13 变量属性小结 4.14 ...

    C++ 实现静态链表的简单实例

    这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和删除操作时不需移动元素,仅需修改指针,故仍具有链式存储结构的主要优点。 下图表示了静态链表的一中存储结构: 图中用彩色途上的是两个头...

    C++智能指针详解(1).pdf

    C++智能指针详解 1、概述 我们知道除了静态内存和栈内存外,每个程序还有⼀个内存池,这部分内存被称为⾃由空间或者堆。程序⽤堆来存储动态分配的对象即那些 在程序运⾏时分配的对象,当动态对象不再使⽤时,我们的...

    传智播客扫地僧视频讲义源码

    17_结构体做函数内存分配指针 18_结构中套一级指针 19_结构体中套二级指针_传智扫地僧 20_作业强化 21_C提高课程_day01-day04_知识体系梳理_传智扫地僧 源码及文档 01_上次课程回顾 02_二级指针三种内存模型综合训练...

    8051系列单片机C程序设计完全手册_清晰版_2-2

    3.4.3 结构体指针的定义和引用 3.4.4 共用体 3.5 小结 第4章C51程序设计 4.1 C51对标准C语言的扩展 4.1.1 存储区域 4.1.2 数据变量分类 4.1.3 存储器模式 4.1.4 绝对地址的访问 4.1.5 指针 4.1.6 函数 ...

    8051系列单片机C程序设计完全手册_清晰版_2-1

    3.4.3 结构体指针的定义和引用 3.4.4 共用体 3.5 小结 第4章C51程序设计 4.1 C51对标准C语言的扩展 4.1.1 存储区域 4.1.2 数据变量分类 4.1.3 存储器模式 4.1.4 绝对地址的访问 4.1.5 指针 4.1.6 函数 ...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    C语言高级教程 - 指针和结构体 01.PonC_指针-1.mp4 02.PonC_指针-2.mp4 03.PonC_指针实例.mp4 04.PonC_指针运算.mp4 05.PonC_指针和函数.mp4 06.dk2j_cpp_函数指针.mp4 07.PonC_转换表.mp4 08.PonC_指针和...

    数据结构(C++)有关练习题

    <br>实验二 单链表结构及计算 实验目的: 通过实验掌握下列知识: 1、熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; 2、继续熟悉VC编程、编译和调试环境; 内容及步骤:...

    C语言深度揭秘

    1.11.2,节省空间,避免不必要的内存分配,同时提高效率.................................... 35 1.12,最易变的关键字----volatile................................ 36 1.13,最会带帽子的关键字----extern.........

    Programming C#(第4版)(中文版)part1

    使用静态成员 80 销毁对象 85 传递参数 88 重载方法和构造方法 94 用属性封装数据 97 只读字段 101 第5章 继承与多态 104 具体化与一般化 104 继承 107 多态 107 抽象类 115 万类之根:Object 119 类型的装箱和拆箱 ...

    Programming C#(第4版)(中文版)part3

    使用静态成员 80 销毁对象 85 传递参数 88 重载方法和构造方法 94 用属性封装数据 97 只读字段 101 第5章 继承与多态 104 具体化与一般化 104 继承 107 多态 107 抽象类 115 万类之根:Object 119 类型的装箱和拆箱 ...

    Programming C#(第4版)(中文版)part2

    使用静态成员 80 销毁对象 85 传递参数 88 重载方法和构造方法 94 用属性封装数据 97 只读字段 101 第5章 继承与多态 104 具体化与一般化 104 继承 107 多态 107 抽象类 115 万类之根:Object 119 类型的装箱和拆箱 ...

    c++如何控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量

    我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。通常情况下,对象创建在堆上还是在栈上,创建多少个,这都是没有限制的。但是...

    2010年 c语言入门到精通

     如果按存储占用空间来分,可以是整型变量,字符型变量,浮点型变量等.当然还有数组,结构体变量等.  C语言还有一个重要变量:指针变量.它存放的值是一个内存地址.  另一点,声明变量时,可以不用声明就直接赋值来决定...

    C语言深度剖析 陈正冲

    1.11.2,节省空间,避免不必要的内存分配,同时提高效率.................................... 35 1.12,最易变的关键字----volatile...............................................................................

    C 语言 深 度 剖析

    1.11.2,节省空间,避免不必要的内存分配,同时提高效率.................................... 35 1.12,最易变的关键字----volatile...............................................................................

    语言程序设计课后习题答案

    面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得...

Global site tag (gtag.js) - Google Analytics