永发信息网

字符串的表示方法和字符指针的表示是不是相同

答案:4  悬赏:0  手机版
解决时间 2021-03-11 11:33
  • 提问者网友:刺鸟
  • 2021-03-10 17:12
字符串的表示方法和字符指针的表示是不是相同
最佳答案
  • 五星知识达人网友:夜风逐马
  • 2021-03-10 18:37
单从指针来说 char *p 是指向一个字符,不过如果p指向的字符后面的一串是已\0结尾的化。
那么,我们就说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确定。 一般变量就相当于一个容器,它里面存储的就直接是变量的值。 比较如下: 指针->地址->值 普通变量->值 你的问题:字符串的表示方法和字符指针的表示是不是相同?那是因为你对指针不了解,其实他们的不同就只是一个内存分配方式的不同而已。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯