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

    2017年12月19日17:12:10
    字符指针和字符数组的整理
     
    1.
    字符数组是由若干个元素组成,每个元素中存放的是一个字符,而字符指针变量中存放的是第一个字符的地址

    2.
    char * a;a = "I love China";指针变量可以赋值,但是数组名不可以这样赋值。
    char a[12]; a[0]='I';合法的。 a = "I love China";//不合法!!!

    3.char *p = "I love China";//定义指针变量p,并且指向第一个元素I的地址。
     等价于:char * a;a = "I love china!";
      但是数组:
       char str[14]="I love China!";
     不等价于char str[14];str[]="I love China"; //报错!!!!

    4.字符数组分配若干个存储单元,但是指针变量值分配一个存储单元。

    5.指针变量的值是可以改变的,而数组名代表一个固定的值(数组首元素的地址),不能改变。
     eg: char *a = "I love China";
      a = a+7;//正确,指向C的地址
      char str[]={"I love China"};
      str = str+7;//报错!!!
      

    6.字符数组中的各元素的值是可以改变的(可以对他们再赋值),但字符指针变量指向的字符串常量中的
     内容是不可以被取代的(不能再对它进行赋值)。
     char a[] ="House";
     char * b="House";
     a[2] = 'r';//合法,r取代a数组元素中a[2]的原值u
     b[2]='r';//非法,字符串常量是不能改变的
     

    7.用指针变量指向的一个格式字符串,可以用它代替printf函数中的格式字符串。
     char * format;
     format = "a = %d,b=%f ";//等价于:char format[]="a=%d,b=%f ";
     printf("format,a,b");
     注意:定义数组时初始化或逐个对元素赋值,而不能用赋值语句对数组整体赋值
      eg:char format[];
      format="a=%d,b=%d ";

  • 相关阅读:
    在状态栏中显示鼠标坐标
    为网页设置背景音乐
    将RGB格式的颜色值转换为十六进制格式
    随机产生指定位数的验证码
    树状导航菜单
    ionic入门教程第一课环境搭建和新建ionic项目
    (一)hbase搭建
    数据库的三个范式
    Sql 用于创建表、存储过程、触发器、标量函数的代码
    通过树形结构在控制台显示XML文档的全部内容
  • 原文地址:https://www.cnblogs.com/healy/p/8072687.html
Copyright © 2011-2022 走看看