`
wangstar
  • 浏览: 43373 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

字符指针变量和字符数组的区别

阅读更多

虽然用字符指针变量和字符数组都能表示和处理字符串,但它们二者之间是有区别的,不应混淆。


        (1)字符数组由若干个元素组成,每个元素中存放字符串的一个字符,而字符指针变量中存放的是字符串的首地址。


        (2)方式不同。对字符数组要用stati‘c存储类别,在编译时进行。而对字符指针变量不必加static,在实际执行时进行。


        (3)赋值方式不同。对字符数组不能整体赋值,只能转化成份量,对单个元素进行。而字符指针变量赋值可整体进行。例如:
      char s[10];
      s= \"C++\";/*错,s是常量,怎能被赋值*/


      (4)在定义一个字符数组时,编译时即已分配内存单元,有确定的地址。而定义一个字符指针变量时,给指针变量分配内存单元,但该指针变量具体指向哪个字符串,并不知道,即指针变量存放的地址不确定。例如:
        char a[10];
        char *p;
        scanf(\"%s\",s);/*正确*/
        scanf(\"%s\",p);/*非常危险,p的值动态*/


        (5)字符指针变量的值可以改变,字符数组名是一个常量,不能改变。例如,有简单程序:
        main()
        {char s=\"china man\"
        s+=6;
        printf(\"%s\",s);
        }
      运行结果:man

0
0
分享到:
评论

相关推荐

    指针数组和数组指针的区别.doc

    这样两者的区别就豁然开朗了,数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。 还...

    c语言指针,指针与变量,指针与指针

    指针变量,指针与数组, 指针与函数, 字符串与指针,指向指针的指针

    C语言全书word版CHAR10

    10.4.2 使用字符串指针变量与字符数组的区别 28 10.5 函数指针变量 29 10.6 指针型函数 30 10.7 指针数组和指向指针的指针 31 10.7.1 指针数组的概念 31 10.7.2 指向指针的指针 34 10.7.3 main函数的参数 36 10.8 ...

    C语言字符串指针(指向字符串的指针)_C语言中文网1

    9.1 1分钟彻底理解指针的概念 9.2 大话C语言指针变量 9.3 C语言指针变量的运算 9.4 数组指针(指向数组的指针) 9.5 字符串指针(指向字符串的

    C语言查询用书

    10.4.2 使用字符串指针变量与字符数组的区别 28 10.5 函数指针变量 29 10.6 指针型函数 30 10.7 指针数组和指向指针的指针 31 10.7.1 指针数组的概念 31 10.7.2 指向指针的指针 34 10.7.3 main函数的参数 36 10.8 ...

    C语言指针-从底层原理到熟练应用(含源码)

    4. 指针变量 5. 操作指针变量 三、指针的几个相关概念 1. const属性 2. void型指针 3. 空指针和野指针 四、指向不同数据类型的指针 1. 数值型指针 2. 字符串指针 3. 指针数组与数组指针 4. 二维数组和指针...

    C语言指针变量的运算_C语言中文网1

    9.1 1分钟彻底理解指针的概念 9.2 大话C语言指针变量 9.3 C语言指针变量的运算 9.4 数组指针(指向数组的指针) 9.5 字符串指针(指向字符串的

    C程序中用指针变量作函数参数

    1. 指针变量作函数与变量作函数的区别 c语言规定实参变量对形参变量的数据传递是“值传递”即单向传递、只有实参传给形参,而不能有形参传给实参,在内存中实参与形参是不同的存储单元。在调用函数时,给形参分配...

    C语言指针与二维数组_C语言中文网1

    9.1 1分钟彻底理解指针的概念 9.2 大话C语言指针变量 9.3 C语言指针变量的运算 9.4 数组指针(指向数组的指针) 9.5 字符串指针(指向字符串的

    fortran指针应用

    指针的概念 指针变量 指针与数组 指针的算术运算 行指针与列指针 练习1 二维数组的指针变量 指向一维数组的指针变量 指针与字符串 返回指针值的函数 指针数组 练习2

    指针函数和函数指针 C++代码

    指针变量可以指向变量地址,数组,字符串,自然也可以指向函数了。已知每个函数在编译的时候,系统会分配给函数一个入口地址,函数名表示这个入口地址,定义指向函数的指针变量称之为函数的指针变量。 函数返回值...

    吕鑫:最博大精深的C语言视频教程 第14天 【第1堂课】指针变量对内存数据的操作

    1、探讨字符串指针变量与字符串数组的区别; 2、探讨指针变量的偏移与距离;

    深入解析C++中的指针数组与指向指针的指针

    指针数组定义:如果一个 数组,其元素均为指针型数据,该数组为指针数组,也就是说,指针数组中的每一个元素相当于一个指针变量,它的值都是地址。 形式:一维指针数组的定义形式为:int【类型名】 *p【数组名】 [4]...

    线性表的顺序实现(数据元素是字符数组)&&字符数组名和指向它的指针区别详解

    那么name是一个字符指针变量,注意它是一个变量,是可以进行四则运算的,它的值是可以改变的。所以: printf(%s,name+20); 没有问题。但是如果是 char name[20];那么name是一个地址常量,值是一个字符串的首地址,...

    C语言程序设计-指针与字符串.pptx

    用字符串常量为字符指针初始化,其形式与字符数组的初始化类似,却有本质上的区别:字符数组获得字符串所有的字符,而字符指针获得字符串首地址,与字符串内的字符无关。 【例8.4】用指向字符串的指针变量完成两个...

    C编程之字符串与指针教程

    ● 数组和指针之间的关系 ● 引用的概念及声明方法,关于使用引用的几点初步建议 ● 如何在本地C++程序中给变量动态分配内存 ● 如何在CLR 程序中动态分配内存 ● 跟踪句柄和跟踪引用的概念,CLR 程序...

    谭浩强C程序设计第三版

    使用字符串指针变量与字符数组的区别 168 函数指针变量 169 指针型函数 170 指针数组和指向指针的指针 171 指针数组的概念 171 指向指针的指针 174 main函数的参数 176 有关指针的数据类型和指针运算的小结 177 有关...

    C语言二级指针(指向指针的指针)_C语言中文网1

    9.1 1分钟彻底理解指针的概念 9.2 大话C语言指针变量 9.3 C语言指针变量的运算 9.4 数组指针(指向数组的指针) 9.5 字符串指针(指向字符串的

Global site tag (gtag.js) - Google Analytics