zoukankan      html  css  js  c++  java
  • 字符串数组指针

    (1)
        char *a = "abc";
        char *b;
        
        b = a;
        
        printf("%s
    ", b);

    打印:abc

    a b 都是字符串指针,拷贝的是字符串地址,而不是字符串本身

    (2)

        char a[4] = "abc";
        char *b;
        
        b = a;
        
        printf("%s
    ", b);

    打印:abc

    数组名代表数组的首地址,即第一个元素的首地址

    (3)

        char a[3] = "abc";
        char *b;
        
        b = a;
        
        printf("%s
    ", b);

    打印:abc)F��P�

    数组a没有结尾符,所以赋值给b的时候会打印出来乱码

    (4)

        char *a = "abc";
        char b[5];
        
        b = a;
        
        printf("%s
    ", b);

    打印出错:incompatible types when assigning to type ‘char[5]’ from type ‘char *’

    数组名代表第一个元素的地址,可以看成常量,不能被重新赋值

    (5)

        char *a = "abc";
        //char b[5];
        
        //b = a;
        *a = 'b';
        
        printf("%s
    ", a);

    打印出错: “abc”被定义为一个字符串常量,值是不能被改变的,但是可以访问它

    (6)

        char *a = "abc";
        
        printf("%c
    ", *(a+4));

    打印: %     因为这个字符串常量,只被赋值到第三个字节,所以去引用第四个字节是不确定的

  • 相关阅读:
    初识 Umbraco CQ
    程序员的利器SourceInsight CQ
    关于Hg的文件过滤 CQ
    蓝桥杯 基本内容
    leedswriting符号
    tiny mission 2021 11 15
    拓扑排序+二分答案+建图
    mission 11.24
    高数积分求面积
    高数积分求弧长
  • 原文地址:https://www.cnblogs.com/Deanboy/p/7508844.html
Copyright © 2011-2022 走看看