c - C编程中的字符串分配

标签 c

<分区>

我是 C 的新手。为了存储字符串文字,我看到了两种方式,如下所示

    char s[]="Mohan";
    char *ptr="Mohan";

那么,这两者有什么区别呢?以及这两条语句是如何分配内存的。

提前致谢...

最佳答案

在第一种情况下......

char s[] = "Mohan";

... s 变量是一个字符数组。然而,第二种情况是这样的:

char s[] = "Mohan";
char *ptr = s;

实际上某处有相同的字符数组,但除此之外还有一个指向该数组的指针变量。

关于c - C编程中的字符串分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31198514/

相关文章:

c - 最高质因数

c - 图像翻转不正确...为什么?

c - 使用一个结构重新散列链式哈希表并调整其大小

您可以在函数内部取消引用 char 指针吗?

c - 由于 'long long int'(64 位)数据类型,Sqlite 数据库在目标上失败

c - 如何在c中为微 Controller 定义新端口

c - 在 fork() 和 wait() 之后从 exit() 获取错误的返回代码

除非执行 strcpy 命令,否则无法更改变量的值

c - strcat 从结构中读取 csv 文件时出错

c - 使用 poll 从管道读取