在C++中,可以使用指向字符常量的指针来定义一个字符串,如const char* a = “hello”;也可以使用字符数组来定义一个字符串,如char b[10] = “world”;
这两个是非常类似的方式。因为数组名本质也是指针,指向数组元素的首地址。如果使用间址运算符*来输出(间址,即通过地址间接访问),两者都是输出首地址对应的元素,即首元素。
两者区别在于指向字符常量的指针,是不能通过指针来去改变原来的字符串的,只能改变指向,使得指针指向另一个字符串常量。
而字符数组,可以通过修改数组元素的方式,修改原来的字符串。
而且两者大小也不一样,指针的大小为4字节,数组的大小为所有元素大小的总和。
下面为代码示例,结合代码更好理解:
运行结果:
指向字符常量的指针与字符数组
最新推荐文章于 2023-10-15 21:31:35 发布