博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言中malloc数组,如何在C中对malloc()数组进行一行赋值?
阅读量:1531 次
发布时间:2019-04-21

本文共 639 字,大约阅读时间需要 2 分钟。

关于“初始化”malloc()结果的第一个问题是分配可能会失败.这里y被初始化为一些指针值.引用它的数据仍然不确定.

#define element_count 5

SOME_DATA_TYPE *y = malloc(sizeof *y * element_count);

if (y == NULL) Handle_OutOfMemory();

使用C11,代码可以使用复合文字来设置,而不是初始化y指向的数据.

memcpy(y, (SOME_DATA_TYPE[element_count]) {v1, v2, v3, v4, v5}, sizeof *y * element_count);

使用直接单行而不检查分配将不是强大的编程.

// one-liner, but not robust code

SOME_DATA_TYPE *y = memcpy(malloc(sizeof *y * element_count),

(SOME_DATA_TYPE[element_count]) {v1, v2, v3, v4, v5}, sizeof *y * element_count);

注意代码使用sizeof * pointer_variable * element_count而不是sizeof(pointer_variable_dereferenced_type)* element_count更容易编码,更不容易出错,更容易查看和维护.这两种方法都有效.

转载地址:http://jxkdy.baihongyu.com/

你可能感兴趣的文章
销售文本程序的分配
查看>>
日期和时间函数
查看>>
后真相时代(post-truth)出现的原因及影响
查看>>
[SAP ABAP开发技术总结]动态语句、动态程序
查看>>
ABAP高效率批量修改内表的数据
查看>>
oracle11g-expdp-impdp步骤
查看>>
定义国际贸易术语(Incoterms)
查看>>
定义交货输出条件类型(Output Types)
查看>>
定义交货输出确定过程(Output Determination Procedure)
查看>>
ABAP物料仓位扩充
查看>>
ABAP销售合同冻结Bapi
查看>>
ABAP销售合同删除Bapi
查看>>
重复制造--REM主数据
查看>>
REM中的几种发料方式
查看>>
重复制造反冲的功能
查看>>
SE43自定义sap菜单
查看>>
SAP BASIS SE43修改SAP标准菜单,登陆界面,背景图片
查看>>
【评估价格】采购申请中的价格
查看>>
SAP 预算控制业务集成
查看>>
【重复制造精讲】REM Pull List 拉料单简介
查看>>