永发信息网

指针字符串复制问题

答案:2  悬赏:10  手机版
解决时间 2021-04-16 08:47
指针字符串复制问题
最佳答案
str和str2是两个指针,
str1=str2是把str2的指向对象地址赋给了str1,即str1和str2都指向同一变量的存储地址值,
*str1=*str2这个语句是错误的 !
*str1是取指针str里的内容!!
举个例子(不怎恰当):
我们把str1、str2看做盒子,str1里放"hello"(我们看做苹果),
str2里放"world"(我们看做梨),,

*str1=*str2就相当于把"梨放到苹果里",不可能!!
再有:程序中的"hello","world"为字符串常量,其的存储位置只读,不能够修改!!
*str1=*str2这语句为赋值表达式,赋值表达式的左值必须是一个变量,常量和标量都是不能够进行赋值操作的!!追问那是否可以用strcpy(str1,str2)追答你的本程序中的str1,str2两个指针变量的指向为字符串常量,只读,不能用!!
strcpy(str1,str2)中的str1必须为一个可以操作(可写)的地址值,后面一个无所谓!!
你可以在定了指针变量,将str1给替换掉!!!
你试试!!
eg:
char *str1="hello",*str2="world",*str=NULL;
str1=str2;
strcpy(str,str2)
全部回答
首先要明白:
char *str1="hello" //定义一个字符指针变量,指向一个字符串常量"hello"
//在系统内部也是按数组存放,但是一个无名数组
char str1[ ]="hello"//定义一个字符数组,里面存放"hello"这个字符串(包括字符串结束标志)
char str2[ ]="world"//在str1这个字符数组里面,str[0]='h',str[1]='e'......str[5]='\0';相当于每一个字符
//存放在一个变量中,可以执行*str1=*str2(str1[0]=str2[0])
上面的例子:
*str1=*str2//相当于 常量=常量(常量对常量赋值) 肯定不行.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么老想家
亭的古诗句,关于亭的诗句有哪些
如果中国移动服务效率低该怎样做
DIY化妆品原料哪有销售的?
袁味龙虾地址在哪,我要去那里办事
全部进入但没**算**成功吗
杭州坐什么车到淳安县大墅新路9号
是否把自己的爱意告诉他《她》呢?
淅川县金河镇地址在哪,我要去那里办事
减肥最有效的方法(初中生)
农村的请夜客 真能治病麽?
初中作文以什么让我陶醉为题600字
那位女士长相很不错,金色头发,蓝眼睛。(写
请问 有什么能净化心灵的歌吗?我想净化下自
肥松饮食店地址在什么地方,想过去办事
推荐资讯
这个是谁,代言什么游戏
谁能推荐一套PC机配置? 物美价廉, 谢谢了!
EXCEL问题:在统计中有一堆数值,如何找出1-
为什么狗狗一吃东西就死叫
宜城至山西平原古城
3m汽车膜一卷多少钱
在黄纬路有没有直达洪湖里的车?
算105×10的竖式计算怎么列?
明开头的诗词,明为开头的诗句
正兴国际照明地址在哪,我要去那里办事
简算125x148等于多少,怎么样简便计算?
在沈阳站怎么去五爱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?