易百教程

使用malloc()函数创建结构体

malloc()可用来为结构体分配存储空间。 结构体的大小通过使用sizeof运算符来确定。

示例代码

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

int main()
{
    struct Product {
        char symbol[5];
        int quantity;
        double price;
    };
    struct Product *purchase;

    /* 在内存中创建结构体 */
    purchase = (struct Product *)malloc(sizeof(struct Product));
    if (purchase == NULL)
    {
        puts("申请内存出现错误!");
        exit(1);
    }

    /* 分配结构体数据 */
    strcpy_s(purchase->symbol, 5,"ABCD");
    purchase->quantity = 100;
    purchase->price = 801.19;

    /* 显示结构体数据 */
    puts("投资组合如下:");
    printf("符号\t数量\t价格\t值\n");
    printf("%-6s\t%5d\t%.2f\t%.2f\n",
        purchase->symbol,
        purchase->quantity,
        purchase->price,
        purchase->quantity*purchase->price);

    system("pause");
    return(0);
}

执行上面示例代码,得到以下结果:

投资组合如下:
符号    数量    价格    值
ABCD      100   801.19  80119.00