首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于指针有关问题的询问

2013-08-14 
关于指针问题的询问#includeiostreamint main(){using namespace stdchar *name new char[5]float *

关于指针问题的询问
#include<iostream>


int main()
{
  
using namespace std;
char *name = new char[5];
float *diameter =new float;
float *weight = new float;

 name ="moke";



这个是我写的一个课后习题的前部分,当这个语句 name ="moke";这样赋值的时候是正确的。这样是将字符串moke赋值给name的地址是吧。
但是我变成*name=“moke”的时候就出错了。这个应该是将moke这个复制给*name吧.但是它显示错误、、不能将 "const char *" 类型的值分配到 "char" 类型的实体

这个是我哪里理解错误了
麻烦给我解答一下
谢谢了
[解决办法]
name ="moke"这句,把右边字符串的第一个字符地址赋给左边,等号左右类型是一致的,都是char *
你换成*name,这个就变成一个字符而不是字符指针了,把一个char*赋给char当然是不行的
[解决办法]

引用:
#include<iostream>


int main()
{
  
using namespace std;
char *name = new char[5];
float *diameter =new float;
float *weight = new float;

 name ="moke";



这个是我写的一个课后习题的前部分,当这个语句 name ="moke";这样赋值的时候是正确的。这样是将字符串moke赋值给name的地址是吧。
但是我变成*name=“moke”的时候就出错了。这个应该是将moke这个复制给*name吧.但是它显示错误、、不能将 "const char *" 类型的值分配到 "char" 类型的实体

这个是我哪里理解错误了
麻烦给我解答一下
谢谢了

char *name = new char[5];是申请一个5个char的空间,其首地址由name指向,name="moke";是将"moke"这个常量字符串从只读数据区复制到name所指向的地址。
如果是*name="moke"想想该是怎样的,右侧是const char* 左侧是一个char类型的数据空间,类型不匹配

热点排行