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