首页IT科技字符型指针变量是什么((转)字符型指针变量与字符数组的区别)

字符型指针变量是什么((转)字符型指针变量与字符数组的区别)

时间2025-09-19 11:12:08分类IT科技浏览6201
导读:(转 字符型指针变量与字符数组的区别 (1)分配内存...

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

(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)值的改变: 字符数组首地址不能改变 指针变量的值可以改变

由以上区别可以看出                         ,在某些情况下    ,用指针变量处理字符串                  ,要比用数组处理字符串方便
?
1
原文链接:<a title="http://www.chang-hao.com/content.php?id=3" href="http://www.chang-hao.com/content.php?id=3">http://www.chang-hao.com/content.php?id=3</a>
声明:本站所有文章                          ,如无特殊说明或标注        ,均为本站原创发布。任何个人或组织             ,在未征得本站同意时                           ,禁止复制                  、盗用                          、采集        、发布本站内容到任何网站             、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理                           。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
mysql1万条数据多少m(mysql表数据量超过百万条了,count很慢。。) 聊天机器人平台(Phind-面向程序员的AI聊天对话机器人)