gpt4 book ai didi

c++ - 将 C 样式字符串初始化为 NULL 与空字符串之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:47 27 4
gpt4 key购买 nike

这三个是否等价:

char* p= NULL;
char* q = "";
char r[] = {'\0'};

我怀疑第一个与其他的不同,但我不完全确定。

最佳答案

我正在回答 C++,即使 OP 将问题标记为 C。这是两种不同的语言。将它们混为一谈不是一个好主意。

本声明:

char* q = "";

在 C++03 中使用了弃用的转换,并在 C++11 中变为无效。我们现在在 C++14。


这两个声明:

char* p= NULL;
char r[] = {'\0'};

根本不同。第一个声明一个指针 并将其设置为空。第二个声明一个包含一项的数组,该项设置为空。


关于

Are these three equivalent

答案是否定的,根本不是:一个只是无效,一个声明一个指针,一个声明一个数组。

关于c++ - 将 C 样式字符串初始化为 NULL 与空字符串之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26570223/

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