(1)分配内存
设有定义字符型指针变量与字符数组的语句如下:
char *pc ,str[100];
则系统将为字符数组str分配100个字节的内存单元,用于存放100个字符。而系统只为指针变量pc分配4个存储单元,用于存放一个内存单元的地址。

(2)初始化赋值含义
字符数组与字符指针变量的初始化赋值形式相同,但其含义不同。例如:
char str[ ] ="I am a student ! " ,s[200];
char *pc="You are a student ! " ;
对于字符数组,是将字符串放到为数组分配的存储空间去,而对于字符型指针变量,是先将字符串存放到内存,然后将存放字符串的内存起始地址送到指针变量pc中。

(3)赋值方式
字符数组只能对其元素逐个赋值,而不能将字符串赋给字符数组名。对于字符指针变量,字符串地址可直接赋给字符指针变量。例如:
str="I love China! "; //字符数组名str不能直接赋值,该语句是错误的。
pc="I love China! "; //指针变量pc可以直接赋字符串地址,语句正确

(4)输入方式
可以将字符串直接输入字符数组,而不能将字符串直接输入指针变量。但可将指针变量所指字符串直接输出。
例如: cin >> str //正确
cin >> pc //错误
cout<<pc //正确

(5)值的改变
在程序执行期间,字符数组名表示的起始地址是不能改变的,而指针变量的值是可以改变的。

例如:str=str+5; //错误
pc=str+5; //正确
小结 字符数组s[100] 指针变量pc

(1)分配内存 分配100个单元 分配4个单元。
(2)赋值含义 字符串放到数组存储空间 先将字符串存放到内存
将存放串的首地址送到pc中。
(3)赋值方式 只能逐个元素赋值 串地址可赋给pc
(4)输入方式: 串直接输入字符数组 不能将字符串直接输入指针变量
(5)值的改变: 字符数组首地址不能改变 指针变量的值可以改变
由以上区别可以看出,在某些情况下,用指针变量处理字符串,要比用数组处理字符串方便

原文链接:http://www.chang-hao.com/content.php?id=3

转载于:https://www.cnblogs.com/ForFreeDom/archive/2012/05/12/2496985.html

(转)字符型指针变量与字符数组的区别相关推荐

  1. 字符指针变量和字符数组的比较

    用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点. (1)字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串 ...

  2. 第十节 字符串指针变量与字符数组的区别(十一)

    用字符数组和字符指针变量都可实现字符串的存储和运算.但是两者是有区别的.在使用时应注意以下几个问题: 1) 字符串指针变量本身是一个变量,用于存放字符串的首地址.而字符串本身是存放在以该首地址为首的一 ...

  3. Python下数值型与字符型类别变量独热编码(One-hot Encoding)实现

    1 OneHotEncoder 2 pd.get_dummies   在数据处理与分析领域,数值型与字符型类别变量的编码是不可或缺的预处理操作.本文基于Python下OneHotEncoder与pd. ...

  4. c语言中c为字符型便量,c='97'是否正确,计算机二级C语言 考点06 字符型常量变量...

    计算机二级C语言 考点06 字符型常量变量 1.已定义c为字符型变量,则下列语句中正确的是 A)c='97'; B)c="97"; C)c=97; D)c="a" ...

  5. C语言指针变量与一维数组

    数组元素之间的地址是相连的: 变量地址绝对不是相连的,如果找到规律那也只是一个偶然的,不是必然的: 1. 指针变量和一位数组 下面对指针数组进行分析,index(小标是从0开始),array数组是in ...

  6. 指针系统学习5-对使用字符指针变量和字符数组的讨论

    虽然用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈-- 主要概括起来有以下几点: 1. 字符数组由若干个元素组成,每个元素中  放一个字符,而字符指针变量中 ...

  7. 字符指针变量和字符数组的对比

    使用字符数组和指针变量都能实现字符串的存储和运算,但它们两者之间是有区别的,不应混为一谈,主要有一下几点: (1)字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串中 ...

  8. 对使用字符指针变量和字符数组的讨论

    区别:1.字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串第一个字符的地址). 2.赋值方式.对字符数组只能对各个元素赋值,不能用以下方法对字符数组赋值:char ...

  9. 字符型指针,数组,字符串赋值

    一. C语言中,为什么字符串可以赋值给字符指针变量 char *p,a='5'; p=&a;                     //显然是正确的, p="abcd"; ...

最新文章

  1. java怎么打开编程输入界面,建议收藏
  2. Apache在windows下的安装配置
  3. Equinix 位于伦敦的LD8数据中心发生严重故障
  4. 淘宝应对双11的技术架构分析
  5. 小白 LeetCode 242 有效的字母异位词
  6. 三层神经网络实现手写数字的识别(基于tensorflow)
  7. android 自定义tabhost,安卓选项卡的实现方法(TabActivity),自定义TabHost容器
  8. 计算机网络蠕虫病毒及防范,蠕虫病毒检测与防范本科毕业论文.doc
  9. Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
  10. 形式化方法:Linear Arithmetic
  11. 原生纯js完美缓冲运动轮播图
  12. [CodeChef FEB15]Payton numbers(CUSTPRIM)解题报告
  13. Debian - Add the checking mail notification - mutt
  14. 快递查询单号查询追踪,一键查询全部物流
  15. vue3子组件给父组件传参
  16. python获取股指_用Python读取csv文件中的沪深300指数历史交易数据
  17. 国家标准官方下载查看地址
  18. 对植物大战僵尸的数据修改
  19. arthas的监控java性能
  20. 关于山大计科转专业的二三事

热门文章

  1. iOS SDK:iOS调试技巧
  2. 策略模式(Header-First笔记)
  3. 利用OpenCV的Grabcut()函数实现图像的前景与背景的分割-并对Grabcut()作详细介绍
  4. spring mvc web.xml 例子
  5. 使用 screen 管理你的远程会话
  6. Golang init函数执行顺序
  7. leetcode算法题--新21点★
  8. 正在写一个VC的聊天软件
  9. P1852 [国家集训队]跳跳棋
  10. 1.1初识python