• C语言学习笔记--单引号和双引号


    (1)C 语言中单引号用来表示字符字面量(是个数值)被编译为对应的 ASCII 码

    (2)C 语言中双引号用来表示字符串字面量(是个指针)被编译为对应的内存地址

    例如:'a'表示字符字面量(97),在内存中占用 1 个字节,'a'+1 表示'a'的 ASCII 码加 1,即'b'。"a"表示字符串字面量(是个指针),在内存中占 2 个字了,"a"+1 表示指针运算,指向"a"的结束符"0"。

    #include <stdio.h>
    int main()
    {
        char* p1 = 1 ;//p1=0x0000001,内存低地址,不可访问
        char* p2 = '1';//p2=0x0000031,内存低地址,不可访问
        char* p3 = "1";//p3=0x008A5860,合法地址
        printf("*p1=%s
    ", p1); //段错误,内存不可访问
        printf("*p2=%s
    ", p2); //段错误,内存不可访问
        printf("*p3=%s
    ", p3);//合法,*p3==1
        printf('
    ');//段错误,'
    '表示 10,即内存 0x000000A 处的内存值
        printf("
    ");//合法,打印换行return 0;
        
        return 0;
    }

    参考资料:
    www.dt4sw.com
    http://www.cnblogs.com/5iedu/category/804081.html

  • 相关阅读:
    Map-HashMap
    Collection(List & Set)
    Redis五种数据类型详解
    Redis基本数据结构详解
    分布式Session管理
    一致性算法
    Zookeeper
    分布式锁
    线程池原理解析
    疑点难点1.1
  • 原文地址:https://www.cnblogs.com/CoderTian/p/5898668.html
Copyright © 2020-2023  润新知