【问题标题】:Strings of characters implementation字符串实现
【发布时间】:2017-11-07 21:47:17
【问题描述】:

在 C 中,我如何声明和使用/操作字符串数组?

例如,它可能是

a[1]="Apples";
a[2]="Pineapples are red"

如何访问这些元素并修改它们?

【问题讨论】:

  • 你能详细说明吗?

标签: c arrays string character


【解决方案1】:

在您的代码中,a 必须是指向 char 的指针数组,例如char *a[5],然后将指针分配给字符串文字:

a[1]="Apples";
a[2]="Pineapples are red";

您可以在某种意义上修改元素以使其指向不同的字符串,例如a[1]="another fruit";。您可以访问整个字符串,例如printf("%s", a[1]),也可以访问单个字符,例如char willBeA_p = a[1][1];但是您不能修改示例中字符串的内容,因为它们是字符串文字(并且修改字符串文字会产生未定义的行为)。所以a[1][1]='b'是不允许的。

【讨论】:

    【解决方案2】:

    您可以定义一个字符串数组,例如: char * array_of_strings[100]; 并使用malloc 为每个人分配内存。

    array_of_strings[0] = (char *) malloc(100);
    array_of_strings[0] = "here is your string";
    

    【讨论】:

      【解决方案3】:

      声明:data_type array_name[array_size];

      示例:浮动标记[5];

      您可以通过索引访问数组的元素。假设您如上所述声明了一个数组标记。第一个元素是mark[0],第二个元素是mark[1]等等。

      可以在声明期间初始化数组。例如。

      int 标记[5] = {19, 10, 8, 17, 9};

      【讨论】:

        猜你喜欢
        • 2012-02-23
        • 2017-05-14
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-06
        相关资源
        最近更新 更多