C第12章-----堆

#include <stdio.h>

#include <stdlib.h>

 

//声明Person结构

//struct Person{

//    float heightInMeters;

//    int weightInKilos;

//};

 

//声明Person类型

typedef struct{

    float heightInMeters;

    int weightInKilos;

}Person;

 

//float bodyMassIndex(Person p){

//    return p.weightInKilos / (p.heightInMeters * p.heightInMeters);

//}

 

float bodyMassIndex(Person *p){

    return p->weightInKilos / (p->heightInMeters * p->heightInMeters);

}

 

int main(int argc, const char * argv[]) {

    

    //使用malloc()函数可以得到一块内存缓冲区,当程序不在使用这块缓冲区时,可以调用free()函数,释放相应的内存,将其返回给堆。

    //使用sizeof()来获得缓冲区的准确大小。

    //为一个Person结构分配内存

    Person *mikey = (Person *)malloc(sizeof(Person));

    

    //为一个Person结构分配内存

    mikey->weightInKilos = 96;

    mikey->heightInMeters = 1.7;

    

    //计算并输出BMI

    float mikeyBMI = bodyMassIndex(mikey);

    printf("mikey has a BMI of %f\n", mikeyBMI);

    

    //释放占用的内存,使之能够被重用

    free(mikey);

    

    //将指针变量赋为空

    mikey = NULL;

    

    return 0;

    

//    //struct Person mikey;

//    //Person mikey;

//    mikey.heightInMeters = 1.7;

//    mikey.weightInKilos = 96;

//

//    //struct Person aaron;

//    //Person aaron;

//    aaron.heightInMeters = 1.97;

//    aaron.weightInKilos = 84;

//

//    printf("mikey is %.2f meters tall.\n", mikey.heightInMeters);

//    printf("mikey weights %d kilograms.\n", mikey.weightInKilos);

//    printf("aaron is %.2f meters tall.\n", aaron.heightInMeters);

//    printf("aaron weights %d kilograms.\n", aaron.weightInKilos);

//

//    float bmi;

//    bmi = bodyMassIndex(mikey);

//    printf("mikey has a BMI of %.2f\n", bmi);

//

//    bmi = bodyMassIndex(aaron);

//    printf("aaron has a BMI of %.2f\n", bmi);

//

//    return 0;

}

转载于:https://www.cnblogs.com/turningli/p/10695781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值