美文网首页
C 字符数组 与 字符串常量

C 字符数组 与 字符串常量

作者: kayorl | 来源:发表于2016-09-23 18:27 被阅读0次

在 C 语言中,有两种表示字符串的方法

  1. 字符串数组 char str[6]="123456";
  2. 字符串常量 char *str="123456";

字符数组

#include <stdio.h>
int main(int argc, const char * argv[]) {
    char str[6]="123456";
    //%x ,十六进制
    printf("%x\n",&str);
    printf("%x\n",str);
    printf("%x\n",&str[0]);
    return 0;
}

输出结果如下:

5fbff849    
5fbff849
5fbff849
表达 解释
&str str[6]=...时已为分配了6字节的内存地址给 str 数组,打印出的是首字符的内存地址
str 可以理解成数组变量退化的指针,并且指向数组的开头
&str[0] 数组中第一个字符的内存地址

字符串常量

#include <stdio.h>
int main(int argc, const char * argv[]) {
    char *str;
    str="123456";
    //
    //等价
    //char *str="123456";
    //
    printf("%x\n",&str);
    printf("%x\n",str);
    printf("%x\n",&str[0]);
    return 0;
}

输出结果如下

5fbff848
f92
f92
表达 解释
&str char *str="123456" , 声明了一个 char 类型的指针变量,该指针指向存放"123456"内存地址,所以该指针变量的地址跟下面两个不一样
str 指针变量所指地址空间的内存地址
&str[0] 数组中第一个字符的内存地址

区别

方式 存储位置 权限
字符数组 全局数据区或栈区 读取,写入
字符串常量 常量 读取

相关文章

  • 003-Tips

    C语言字符数组与字符指针 上面这种操作是不被允许的,指针指向了 字符串常量, 不可以被修改,改成字符数组才可以 字...

  • C 字符数组 与 字符串常量

    在 C 语言中,有两种表示字符串的方法 字符串数组 char str[6]="123456"; 字符串常量 ...

  • 字符串_C语言

    定义 字符串是一种重要的数据类型 C语言中,字符串以字符串常量的形式出现或存储于字符数组中 字符串常量适用于程序不...

  • 字符串: swordToOffer

    字符串 以 '\0' 结尾 (1) 常量字符串: 放 只读段 .rodata (2) 字符数组: 用 常量字符串 ...

  • 第八天

    1字符数组.重点注意:一、字符常量和变量的区分。二、字符串常量输出时结束符的位置。三、%s与%c应用时的书写区分。...

  • C primer Plus study note chapter

    字符串是由空字符结尾的char类型数组字符串常量:双引号括起来的内容称为字符串常量。字符串常量属于静态存储类别,就...

  • C语言学习10.字符串和相关函数

    C语言中,没有string类型,有三种表现形式:字面值常量,字符串数组,字符串指针。字符串指针变量:指向字符串的头...

  • NSString篇

    1.常量字符串与堆字符串 常量区中的字符串只要内容一致, 不会重复创建,与C语言中的一致 堆中字符串对象 2.字符...

  • iOS开发之NSString字符串和数组NSArray操作

    1、创建字符串对象数组 2、可变的字符串类 3、字典加数组操作 一、NSString 1、创建常量字符串。NSSt...

  • (三)C语言之字符串与字符串函数

    (三)C语言之字符串与字符串函数 字符串与字符串函数 1. 字符串 使用字符数组存储字符串,\0 表示结束符,字符...

网友评论

      本文标题:C 字符数组 与 字符串常量

      本文链接:https://www.haomeiwen.com/subject/kzntyttx.html