gpt4 book ai didi

使用动态成员创建全局结构

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:20 26 4
gpt4 key购买 nike

我有如下内容:

struct t{
char arr[variable_len];
int i;
};

int main(int argc, char *argv[]){
// set size of arr to length of argv[1]
}

有没有办法做到这一点?我本来只是想让 arr 成为一个指向数组的指针并单独分配数组,但这造成了巨大的问题,因为我想将这个结构写入管道(指针将被写入而不是实际的数组).

最佳答案

抛开缺乏错误检查不谈,您可以执行以下操作...

struct t
{
int i;
int data_len;
char arr[];
};

int main( int argc, char* argv[] )
{
int data_len = atoi( argv[1] );
struct t* var;

var = malloc( sizeof( struct t ) + data_len );
var->data_len = data_len;

// open a pipe and do cool stuff to var

fwrite( var, sizeof( struct t ) + var->data_len, 1, output_pipe );

free( var );
}

关于使用动态成员创建全局结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15993950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com