【问题标题】:What is 1 dimensional string array?什么是一维字符串数组?
【发布时间】:2020-08-05 21:00:51
【问题描述】:

1- 什么是一维字符串数组?

2- char *[] 是二维的吗?

3-char *[]是一维字符串数组吗?

谢谢。

【问题讨论】:

  • 如果定义完整,它们将是指向字符的一维数组,例如:char *array[] = {"one", "two"};char *array[2];

标签: c arrays multidimensional-array c-strings


【解决方案1】:

char *[] 是指向 char 类型的指针的不完整类型的一维数组。

你可以这样写

char *s[] = { "string1", "string2", "string3" };

在这种情况下,数组 s 是一个包含三个指向字符串字面量的指针的数组。

如果你要在任何函数之外声明一个数组,比如

char *s[];

然后你会得到一个包含一个元素的一维数组的初步定义。

二维数组的声明如下所示

char s[N1][N2];

char s[][N2] = { /* some initializers */ };

其中N1N2 是一些正整数。

一维或二维字符数组是否包含字符串取决于数组的用户。

这是一个例子

char s1[] = "Hello";
char s2[6] = "Hello";
char s3[5] = "Hello";

这里的数组 s1 和 s2 包含一个字符串,而数组 s3 不包含一个字符串,因为它不包括用作初始值设定项的字符串文字的终止零。

或者

char * s[] = { "Hello" };

此数组不包含字符串。它是一个指向字符串文字的指针的数组。

【讨论】:

  • 谢谢。我明白了
猜你喜欢
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 2015-01-21
  • 2021-09-17
  • 2019-08-04
相关资源
最近更新 更多