gpt4 book ai didi

c - 声明一个具有零值而不是随机内存的结构?

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

我有一个这样的结构:

typedef struct string {
unsigned long length;
unsigned *data;
} string;

我能不能写点东西,这样当我这样做的时候:

string s;

length 属性为零,而不是内存中的任何内容? data 效果很好,因为它被预设为零或空指针。

现在发生的事情的例子:

string s;
printf("length: %lu\n", s.length);
printf("pointer: %lu\n", (unsigned long) s.data);

结果:

length:  140737488347584
pointer: 0

我想避免为了将 length 设置为零而必须对每个新字符串调用初始化函数。

更多信息

现在我考虑了一下,在我的特定情况下可能真的没有必要这样做(尽管这会很好),因为大多数人最初会通过 ctou 设置字符串(它导入来自 char 指针的 UTF-8)并且该函数无论如何都会将 length 设置为零。

最佳答案

你可以使用

string s = {0,NULL};

关于c - 声明一个具有零值而不是随机内存的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786365/

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