字符串的表示方法和字符指针的表示是不是相同
答案:4 悬赏:0 手机版
解决时间 2021-03-11 11:33
- 提问者网友:刺鸟
- 2021-03-10 17:12
字符串的表示方法和字符指针的表示是不是相同
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-03-10 18:37
单从指针来说 char *p 是指向一个字符,不过如果p指向的字符后面的一串是已\0结尾的化。
那么,我们就说p指向了一个字符串。
实际上 p 只能指向一个字符。所以要访问整个字符串时要 p++
那么,我们就说p指向了一个字符串。
实际上 p 只能指向一个字符。所以要访问整个字符串时要 p++
全部回答
- 1楼网友:duile
- 2021-03-10 21:14
c++继承了c语言的字符串表示方法;
大概的定义如下:
char ch[]="hgkha";
char *ch="sjkj";
.........///
在此次基础之上,c++还特别增加了一个字符串类 string;
在字符串类中重载了很多的运算符;使得在使用string类时非常方便;
并且还有一个类的成员函数c_str(); 该函数返回一个字符串指针,这样就可以使得字符串类和标准的c字符串相连接
- 2楼网友:西风乍起
- 2021-03-10 21:07
楼主,这是两个不同的概念。C/C++中字符串就是用双引号括起来的一个或者多个字符,如"abc",而字符?指针(应该叫字符串指针吧,因为从来没有让它能指向单个字符的)采用形如char *p这样的定义。
字符串不能单独使用,它要么由字符串指针指向,要么放在字符数组中。而字符串指针可以先不赋值(此时为野指针)。
需要注意的是定义char *str = "hello world"时,字符串"hello world"是放在程序的常量数据区的,它是只读的,指针变量str位于栈区,其值为存放字符串的常量数据区地址,一旦我们改变str的值,那我们可能就再也没法使用字符串"hello world"了。这个定义中左边是字符串指针,右边是字符串。
- 3楼网友:狂恋
- 2021-03-10 19:49
你得好好理解一下指针的概念:
指针式表示一个地址而已,而这个地址所表示的数据类型由指针类型确定。比如说char *p,p是指针变量(即指针指向的地址),这个地址所表示的数据类型由char确定。
一般变量就相当于一个容器,它里面存储的就直接是变量的值。
比较如下:
指针->地址->值
普通变量->值
你的问题:字符串的表示方法和字符指针的表示是不是相同?那是因为你对指针不了解,其实他们的不同就只是一个内存分配方式的不同而已。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯