热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

字符数组和字符串常量的区别字符型常量与串常量的主要区别

本文主要介绍关于字符串,指针,c++的知识点,对【字符数组和字符串常量的区别】和【字符型常量与串常量的主要区别】有兴趣的朋友可以看下由【参商Rick】投稿的技术文章,希望该技术和经验能帮到你解决你所遇

本文主要介绍关于字符串,指针,c++的知识点,对【字符数组和字符串常量的区别】和【字符型常量与串常量的主要区别】有兴趣的朋友可以看下由【参商Rick】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【C/C++语言】相关技术问题。

字符型常量与串常量的主要区别

常量 不可以修改 整型常量 :10 100字符常量:‘a’ ‘c’浮点常量:1.1 1.01字符型常量:“asdfd”地址常量 变量的地址 数组名字 函数名字

字符数组和字符串常量的区别 字符型常量与串常量的主要区别

#include 
    
#include 
    
int main()
{
   
	char* p =  "a\0\n\012ab0";   //字符串常量
	char b[] = "a\0\n\012ab0";	 //字符数组 = {'a', '\0', '\n','\012','a','b','0','\0' }
	//char b[] = { 'a', '\0', '\n', '\012', 'a', 'b', '0', '\0' };
	printf("%d ", sizeof(p)); //4 这里的p指针创建在变量区,它存放的内容是字符串常量"a\0\n\012ab0"中'a'的地址
	printf("%d ", sizeof(b)); //8:分别是:'a', '\0', '\n', '\012', 'a', 'b', '0', '\0'.这里的b是数组,b创建在常量区,b存放的是数组'a'的地址。sizeof(b)是数组的大小
	//p++; √:因为p是变量,可以进行++操作
	//b++; ×:因为b创建在常量区,不能进行++操作
	//*p++; √:因为p是变量,可以进行++操作
	//*b++; ×:因为b创建在常量区,不能进行++操作
	//(*p)++; ×:*p指向的是常量区"a\0\n\012ab0"的'a',该字符串数组是常量 不能进行++操作
	//(*b)++; √: *b指向的是数组的首地址'a',该操作是对'a'+1操作 使其变为'b'
	return 0;
}
指针创建在变量区,数组的名字创建在常量区其指向的数组内容在变量区,常量区不能进行自加或自减操作,变量区可以

本文《字符数组和字符串常量的区别》版权归参商Rick所有,引用字符数组和字符串常量的区别需遵循CC 4.0 BY-SA版权协议。


推荐阅读
author-avatar
灬猎丶豹灬_511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有