社区
C++ Builder
帖子详情
关于指针的一个简单问题。
码定乾坤
2003-08-19 10:54:56
void fun(char*s)
{
s="sdfsdf";
}
main()
{
char * s=NULL;
fun(s);
}
可是结果s=NULL
这是怎么回事?
...全文
33
13
打赏
收藏
关于指针的一个简单问题。
void fun(char*s) { s="sdfsdf"; } main() { char * s=NULL; fun(s); } 可是结果s=NULL 这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gogo168
2003-08-19
打赏
举报
回复
同意windlyzhang(大家共勉) 和Tiejun_Chenfang
Tiejun_Chenfang
2003-08-19
打赏
举报
回复
void fun(member* &m) &代表是引用,可以把修改带出来
码定乾坤
2003-08-19
打赏
举报
回复
谢谢windlyzhang(大家共勉)
改了后可以了
不过我的方法为什么不可以
windlyzhang
2003-08-19
打赏
举报
回复
修改后的函数如下:
void fun(member* &m)
{
member * list;
list =new member;
list->member_name="名字";
m=list;
}
调用:
member * my;
fun(my);
Tiejun_Chenfang
2003-08-19
打赏
举报
回复
zahuifan(杂烩饭) ,你的代码太。。。。。
void fun(char*s)
{
s = new char[7];
s="sdfsdf";
}
结果带不出来不说,还会使得系统产生7个字节的内存泄漏
starstargao
楼上的都可以,你真是难得糊涂啊
支持 netsys2(来电),或者这样,
void fun(char ** ps)
{
if (*ps!=NULL) delete [] (*ps) ;
*ps=new char [strlen("sdfsdf")+1];
strcpy(*ps,"sdfsdf");
}
main()
{
char *s=NULL;
fun(&s);
//别忘了delete [] s;
}
对于
void fun(member * * m)
{
member * list;
list =new member;
list->member_name="名字";
*m=list;
}
member * my=NULL;
fun(&my);
记住一个原则:
想让函数改什么,就传什么的指针,(特例:改指针,就传指针的指针)
Tiejun_Chenfang
2003-08-19
打赏
举报
回复
zahuifan(杂烩饭) ,你的代码太。。。。。
void fun(char*s)
{
s = new char[7];
s="sdfsdf";
}
结果带不出来不说,还会使得系统产生7个字节的内存泄漏
starstargao
楼上的都可以,你真是难得糊涂啊
支持 netsys2(来电),或者这样,
void fun(char ** ps)
{
if (*ps!=NULL) delete [] (*ps) ;
*ps=new char [strlen("sdfsdf")+1];
strcpy(*ps,"sdfsdf");
}
main()
{
char *s=NULL;
fun(&s);
//别忘了delete [] s;
}
对于
void fun(member * * m)
{
member * list;
list =new member;
list->member_name="名字";
*m=list;
}
member * my=NULL;
fun(&my);
记住一个原则:
想让函数改什么,就传什么的指针,(特例:改指针,就传指针的指针)
freshman2003
2003-08-19
打赏
举报
回复
我觉得你这样用不合逻辑,不如这样给指针变量赋值。
member * fun()
{
member * list;
list =new member;
list->member_name="名字";
return list;
}
member * my=NULL;
my = fun();
这样符合思维习惯,也不会出错。
Tiejun_Chenfang
2003-08-19
打赏
举报
回复
zahuifan(杂烩饭) ,你的代码太。。。。。。。
void fun(char*s)
{
s = new char[7];
s="sdfsdf";
}
不仅东西带不出去,还会使得系统出现7个字节的内存泄漏,
支持 netsys2(来电) 或者这样
void fun(char** ps)
{
if (*ps!=NULL)
delete [] (*ps);
*ps=new char[strlen("sdfsdf")+1];
strcpy(*ps,"sdfsdf");
}
main()
{
char * s=NULL;
fun(&s);
//用完了,要delete [] s;
}
码定乾坤
2003-08-19
打赏
举报
回复
谢谢各位帮忙
我的情况是这样的。
我定义一
strunct member
{
String member_name;
member * next;
}
这样一个连
我有个函数是建立连的
void fun(member * m)
{
member * list;
list =new member;
list->member_name="名字";
m=list;
}
member * my=NULL;
fun(my);
可是fun(my)后my还是NULL;
请各位帮忙
zjqyb
2003-08-19
打赏
举报
回复
楼上的朋友
s = new char[7];
s="sdfsdf";
基本上是误人子弟
starstargao
2003-08-19
打赏
举报
回复
楼上的都可以
zahuifan
2003-08-19
打赏
举报
回复
你应该先分配内存:
void fun(char*s)
{
s = new char[7];
s="sdfsdf";
}
不过建议你用更好用的 AnsiString
void fun(AnsiString & s)
{
s="sdfsdf";
}
netsys2
2003-08-19
打赏
举报
回复
void fun(char*s)
{
s="sdfsdf";
}
s指向的是函数内部局部变量,函数退出后失去数据。
应该:
void fun(char*s)
{
strcpy(s,"sdfsdf");
}
main()
{
char s[100];
fun(s);
}
2小时精通C++智能
指针
本课程讲解C++11标准库中的智能
指针
。对于C/C++程序员来说,
指针
是天堂,也是地狱。
指针
用得好程序运行效率倍增,用得不好
问题
层出不穷。智能
指针
可以解决普通
指针
存在的悬垂
指针
、野
指针
、资源泄露等
问题
本教程的主要的演示平台为Qt 4.11和g++ 7.4。学员也可以使用Visual Studio 2017。教程中从最
简单
的例子入手,覆盖智能
指针
的常用技术点,并穿插实例程序。本篇讲解的技术点包括:共享
指针
、弱
指针
、唯一
指针
、自动
指针
等。本课程中涉及的所有软件和示例源码,均提供免费下载。
数组
指针
和
指针
数组
首先,理解一下数组
指针
和
指针
数组这两个名词: “数组
指针
”和“
指针
数组”,只要在名词中间加上“的”字,就知道中心了—— 数组的
指针
:是
一个
指针
,什么样的
指针
呢?指向数组的
指针
。
指针
的数组:是
一个
数组,什么样的数组呢?装着
指针
的数组。 然后,需要明确
一个
优先级顺序:()>[]>*,所以: (*p)[n]:根据优先级,先看括号内,则p是
一个
指针
,这个
指针
指向
一个
一维数组,数组长...
一个
指针
占几个字节?原理是什么呢?
一个
指针
占几个字节的
问题
,感觉会C语言的同学都知道。但是在面试过程中,面了几个同学,不是答忘记了,就是两个、四个的瞎蒙。。。 那么,
一个
指针
到底占几个字节呢? 其实,这个
问题
很
简单
,稍微上网一搜,你就知道:
一个
指针
在64位的计算机上,占8个字节;
一个
指针
在32位的计算机上,占4个字节。 这么
简单
的
问题
,为什么面试官愿意问呢?其实这个
问题
不是在考你的记忆能力,是在考察你的计算机基础能力。就比如,...
指针
函数和函数
指针
概述
指针
函数和函数
指针
是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当
指针
函数、函数
指针
、函数
指针
变量、函数
指针
数组放在一块的时候,能把强迫症的人活活逼疯。 其实如果理解了这些概念的本质,是不需要死记硬背的,理解起来也比较容易。
指针
函数
指针
函数: 顾名思义,它的本质是
一个
函数...
函数
指针
和
指针
函数用法和区别
前言 函数
指针
和
指针
函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数
指针
函数、
指针
函数
指针
、数组
指针
、
指针
数组、函数
指针
数组等等,描述越长其定义就越复杂,当然理解起来就越难,特别是刚开始学习这门语言的童鞋,估计碰到这些东西就已经要崩溃了,然后好不容易死记硬背下来应付考试或者面试,然后过了几天发现,又是根本不会用,也不知道该在哪些地方用,这就尴尬了。 今天这里只...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章