字符数组,字符指针
来源:互联网 发布:中国工商银行软件下载 编辑:程序博客网 时间:2024/05/06 19:37
const char str1[]="abc";const char str2[]="abc";const char *p1="abc";const char *p2="abc";
问:
(1)str1和str2的地址是否相同?
(2)p1和p2的地址是否相同?
写个程序简单地测试一下:
#include<stdio.h>void main(){const char str1[]="abc";const char str2[]="abc";const char *p1="abc";const char *p2="abc";if(str1==str2)printf("str1==str2\n");elseprintf("str1!=str2\n");if(p1==p2)printf("p1==p2\n");elseprintf("p1!=p2\n");}程序运行结果:
str1!=str2p1==p2
简要的解释如下(具体参考:http://blog.csdn.net/qiumm/article/details/5657120):
字符数组str1、str2与字符指针p1、p2的区别是:str1、str2是数组,可以改变数组中保存的内容;p1、p2是指针,可以指向不同的字符串,但是不能改变所指的字符串常量。
也就是,定义一个字符数组,就相应地在内存中为数组分配空间,每个字符数组得到各自的内存空间,因此字符数组的地址是不相同的;而字符指针是指向公用的常量区的字符,如果字符串相同,那么指针所指向的内存地址也是相同的。
对于const的理解,这道题目体现的不是很明显。以后有机会补上!
0 0
- 字符数组,字符指针
- 字符数组,字符指针
- 字符数组,字符指针
- 字符数组字符指针
- 字符数组,字符指针
- 字符,字符数组,字符指针
- 字符指针和字符数组
- 字符数组VS字符指针
- 字符指针和字符数组
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 字符数组VS字符指针
- 「串」toString() //返回字符串 20140829 ①文本处理
- (六)unity4.6Ugui中文教程文档-------概要-UGUI Animation Integration
- extjs4
- LPC1768@100MHz和LPC1788@120MHz的PLL0设置
- 精益敏捷外包开发--- 思维篇
- 字符数组,字符指针
- Java 并发编程之任务取消(四)
- ActionBar “标题”居中并添加“返回”
- Ubuntu 12.04中文输入法的安装
- First Missing Positive(重重)
- DXT纹理压缩
- C++多态性
- Android开发_备份短信
- 计算机未来趋势之并行