如何初始化这些数组类型?

问题描述 投票:0回答:1

我在做一个工作,我得到了一些 "string "typedef的代码交给我,让我更容易使用字符串,但现在我对代码的理解和它的工作原理有一些问题,你们能帮帮我吗?

//----------- THIS IS THE CODE HANDED TO ME -----------------------------

#define MAX_STRING          256
#define MAX_STRING_VECTOR   1024

typedef char String[MAX_STRING];
typedef String StringVector[MAX_STRING_VECTOR];

//----------- THIS IS THE CODE I WROTE -----------------------------

StringVector strV;
String str;

*str = "Hello";
*(strV) = str;

它显示的错误是 "赋值给具有数组类型的表达式"。

谢谢你们!

c arrays string typedef c-strings
1个回答
1
投票

在C语法中,不允许将一个数组的 char诸如 str 在这里,除了初始化之外,用一个字符串字面。

而不是使用 strcpy 将一个字符串分配给一个数组。对于初始化 strHello 使用 String str = "Hello";.

例如::

StringVector strV;
String str = "Hello";

strcpy(*strV, str);

在线示例

或者如果 str 是不需要的。

StringVector strV;

strcpy(*strV, "Hello");

注意: strcpy() 是在头文件中声明的 <string.h>.

© www.soinside.com 2019 - 2024. All rights reserved.