gpt4 book ai didi

c - C中是否有这个多维数组声明的简写

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:55 24 4
gpt4 key购买 nike

所以我有这段代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char field1[45];
char field2[444];
char *fields[] = {
field1, field2
};
int main (int argc, char *argv[])
{
sprintf(fields[0], "hello\n");
printf(fields[0]);
}

我不需要使用 field1 和 field2 访问字段。有没有一些简写的方法来做到这一点?我尝试了以下不起作用。

char *fields[] = { char[45], char[444] };

基本上我想我想要一个包含不同长度字符串的数组,而不必使用 malloc。

最佳答案

你可以这样写:

char *fields[] = {
(char[45]) { 0 },
(char[444]) { 0 }
};

我建议不要使用这种设计,因为它很难执行检查以确保您不会溢出缓冲区。

关于c - C中是否有这个多维数组声明的简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35164858/

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