网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月27日漏签0天
c语言吧 关注:801,324贴子:4,372,117
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 12回复贴,共1页
<<返回c语言吧
>0< 加载中...

一个蛮大的小问题——结构中定义数组到底是神马?

  • 只看楼主
  • 收藏

  • 回复
  • O子弹O_O
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//定义元素节点
struct element
{
long length;
char value[];
};
编译通过了
其中char value[]是一个未定义的数组还是一个指针啊?,我是想在这里存储数据然后传值得,如果是个指针的话……悲催了就


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
c99提供的柔性数组成员标准写法,动态分配内存吧


2025-11-27 22:12:11
广告
不感兴趣
开通SVIP免广告
  • O子弹O_O
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
就是这样吗?那我怎么给他初始化大小?
e.value[5]; ←???
还是e.value[] = temp[5];
还是e.value[] = {1,2,3,4,5};
?


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
struct element *elt = (struct element *) malloc(sizeof(struct element) + VLA_LENGTH);
// no error, no NULL ptr, no kernel POISON
elt->length = some_val;
memset(elt->value, 0, sizeof(char) * VLA_LENGTH);


  • O子弹O_O
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
多谢多谢了


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这里实际上不必拘泥于malloc, 只要有一块空间足够的内存块就可以


  • polyahu
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
VLA_LENGTH是什么... 没见过...
char value[]; 就当做一个指针就可以了吧...


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
VLA_LENGTH看上去像个宏,所以你直接按照名字读出来就可以了
至于value, 那玩意确实是个数组。以前用char [1]比较麻烦,而char [0]又依赖编译器扩展。


2025-11-27 22:06:11
广告
不感兴趣
开通SVIP免广告
  • polyahu
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哦,这样啊...


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这样写比较方便一次性把不定长缓冲区和它的控制信息都申请完,对于一般的内存分配器而言有减少碎片的可能。


  • polyahu
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
深了... 不太懂这些东西... 什么书里讲到这些?


  • 良化纲领_
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我不太看语言方面的书所以也不知道……不过这个的话如果你做过需要缓冲区的东西应该就有体会,内存分配器也是一样


  • polyahu
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯... 学无止境...


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 12回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示