是否可以定义一个可变长度的char
?
我有一个长度为 25 的 char
“name”(struct
的成员,名为“person”),但我希望它是介于值 1 和 25,因为我想生成具有不同大小且不总是具有相同长度 (25) 的 char
随机字符串。该方法的参数之一是 sizeof(n.name)
。
注意:n
是一个struct
(struct person n
)。
struct
“person”是这样定义的:
struct person{
int c;
char name[25];
};
有人吗?
最佳答案
struct person{
int c;
char name[]; /* Variable length array */
};
我认为这应该符合您的目的。
否则你可以使用动态内存分配
char *name;
name
是一个指针,应该分配内存,可以使用 malloc()
关于可变长度的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710755/