【问题标题】:difference between char *myString and myString[] [duplicate]char *myString 和 myString[] 之间的区别 [重复]
【发布时间】:2012-05-23 16:11:09
【问题描述】:

可能重复:
What is the difference between char s[] and char *s in C?
What is the difference between char a[] = “string”; and char *p = “string”;

我想知道下面两个C语言中的字符串声明有什么区别

char *myString = "This is a C character string";

char myString[] = "This is a C character array";

我知道第一个是指针,第二个是数组,但我无法区分。

【问题讨论】:

标签: c


【解决方案1】:

除了 Binyamin Sharet 的回答,在第一种情况下您可以更改 myString 指针,但在第二种情况下您不能。所以,这段代码将编译运行并打印“ello”:

#include <stdio.h>

int main(int argc, char **argv)
{
    char *myString = "Hello\n";

    myString++;

    printf("%s", myString);
}

但是这段代码不会编译:

#include <stdio.h>

int main(int argc, char **argv)
{
    char myString[] = "Hello\n";

    myString++;

    printf("%s", myString);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2020-07-10
    • 2018-03-05
    相关资源
    最近更新 更多