社区
C语言
帖子详情
字符指针内容赋值给字符数组
内特-瑟蒙德
2017-06-05 03:09:00
从函数里返回字符指针能打印内容,但是把指针的内容赋值给字符数组后,数组的内容就是乱码了
strcpy,strncpy,memcpy都试过了
...全文
556
9
打赏
收藏
字符指针内容赋值给字符数组
从函数里返回字符指针能打印内容,但是把指针的内容赋值给字符数组后,数组的内容就是乱码了 strcpy,strncpy,memcpy都试过了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2017-06-06
打赏
举报
回复
在局部变量前面加static
paschen
2017-06-06
打赏
举报
回复
如果你的数组是函数中的局部变量,函数结束后就销毁了 你说返回的指针可以应该是你指针指向的字符串是在常量区的
C4Fun
2017-06-06
打赏
举报
回复
注意变量的生命周期!
csdndenglu
2017-06-06
打赏
举报
回复
是不是指针变量是局部变量?生命周期到了,你还在使用?如果是这样换成全局变量试试,或者new申请一下内存试试看
驱动矢量
2017-06-06
打赏
举报
回复
从函数里返回字符指针能打印内容,但是把指针的内容赋值给字符数组后,数组的内容就是乱码了 strcpy,strncpy,memcpy都试过了 楼主,我猜测你的代码 “从函数里返回字符指针能打印内容”-》printf (函数的返回值)。返回的字符指针是在函数内定义的,属于栈变量,在函数返回后,字符指针指向的空间会被释放。指针的指向的空间内容可能正常,也可能被其他数据覆盖。 建议:想调用函数得到某个字符串值,一般传入一个字符指针变量作为出参。调用函数后可以以该指针变量作为返回值,或者直接使用该变量进行下一步操作。
wang0635
2017-06-06
打赏
举报
回复
引用 3 楼 cfjtaishan 的回复:
返回的指针指向的数据是在函数栈上的,函数执行结束后栈被自动释放了,即指针指向的区域数据已经不可用了
很可能是这个原因。刚刚返回时,栈上的东西还没有被完全覆盖;再调用其他函数,栈上基本上没什么原先的痕迹了
自信男孩
2017-06-05
打赏
举报
回复
要根据你的代码才能更好的帮你解决问题。只是从你的描述去分析问题,可能性就会比较多。比如,返回的指针指向的数据是在函数栈上的,函数执行结束后栈被自动释放了,即指针指向的区域数据已经不可用了。还有可能是拷贝字符串时,没有加字符串的结束标记'\0'等等。 要能够正确分析的问题,还需要你贴出对应的code.
小乌龟在大乌龟背上
2017-06-05
打赏
举报
回复
上码 ~
真相重于对错
2017-06-05
打赏
举报
回复
你的代码???? 或者 程序的编码问题?
c中给
字符
数组
,
字符
串
指针
赋值
的方法总结
谭浩强的书上明确指出,
字符
数组
可以在定义时整体
赋值
,不能再
赋值
语句中整体
赋值
。 1、定义的时候直接用
字符
串
赋值
char a[10]="hello"; 注意:不能先定义再给它
赋值
,如char a[10]; a[10]="hello";这样是错误的...
(转载备忘)
字符
指针
与
字符
数组
转载自:
字符
数组
与
字符
指针
- 不弃初衷 - 博客园 (cnblogs.com) 1.
字符
指针
可以指向一个
字符
串... 这里要注意
字符
指针
与
字符
数组
之间的区别。例如,有说明语句: char string[ ]="This is a string."; 此时,s
如何给给
字符
数组
赋值
那么,我们先来看看如何给一个一维数组
赋值
:1、定义的时候直接
赋值
:char arr[10] = {"kitty"};这种写法也可以直接省略花括号,直接写成:char arr[10] = "kitty";2、初始化列表,把各个
字符
依次赋给数组中的元素:...
将
字符
串
指针
赋值
给数组
比如 char *p=”sdflkjasljfsjlsdfsa”;...将p赋给p1 (1)strcpy(p1,p); (2)char *src=”helloworld”; char des[100]={0}; memcpy(des,src,strlen(src)+1); //void *memcpy(void *str1, const...
如何用scanf语句为
字符
指针
数组
赋值
指针
地址是由系统自动分配的,想要自己指定
指针
地址有两种方法: 一、初始化
赋值
例如: char* p[] = { "Blue","Yellow","Orange","Green","Red","black" };...每次循环后都会改变
字符
数组
存储的
字符
串;
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章