字符数组和字符指针的区别_字符串数组和字符数组的区别

字符数组和字符指针的区别_字符串数组和字符数组的区别字符串数组和字符串指针的区别基本知识:数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命

字符串数组和字符串指针的区别   基本知识:数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。而指针是动态变换的,它指向的指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。   特别注意:当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。—-重点   字符数组和字符串指针的主要区别:   1、字符指针可以指向一个字符串。   这里要注意字符指针与字符数组之间的区别。例如,有说明语句:   char string[ ]=“This is a string.”;   此时,string是字符数组,它存放了一个字符串。   字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。   2、字符数组由若干个素组成,每个素中存放字符串的一个字符,而字符指针变量中存放的是字符串的首地址。   3、初始化方式不同。对字符数组初始化要用static存储类别,在编译时进行。而对字符指针变量初始化不必加static,在实际执行时进行。   4、赋值方式不同。对字符数组不能整体赋值,只能转化成份量,对单个素进行。而字符指针变量赋值可整体进行。   5、在定义一个字符数组时,编译时即已分配内存单,有确定的地址。而定义一个字符指针变量时,给指针变量分配内存单,但该指针变量具体指向哪个字符串,并不知道,即指针变量存放的地址不确定。例如:   6、字符指针变量的值可以改变,字符数组名是一个常量,不能改变。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/46067.html

(0)
上一篇 2024年 9月 5日 下午12:14
下一篇 2024年 9月 5日

相关推荐

关注微信