请问指针问题,很简单。

晴天v1 2008-08-22 03:54:43
程序如下:


void charTest(char *);

int main(int argc, char* argv[])
{

char n[20] ;
charTest(n);
printf("\n%s\n",n); //????为什么这里没有输出abcdefg
getchar();
return 0;
}


void charTest(char *ch){
char * you = "abcdefg";

ch = you ;

}



在charTest(char ch)里面通过 ch = you ; ch应该是指向和you指向相同的地址吧? 在函数里ch指向了"abcdefg",为什么在main里面看不到?谢谢。
...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
晴天v1 2008-08-23
  • 打赏
  • 举报
回复
推广个链接,浪曦的,很不错。
http://bbs.langsin.com/register.php?fromuid=42479
晴天v1 2008-08-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lbh2001 的回复:]
void charTest(char *ch)
{
char * you = "abcdefg";

ch = you ;
}

char n[20] ;
charTest(n);//n是数组首地址,是不会改变

函数中的ch只是得到n的一份拷贝
n的变化并不影响n,也不可能改变n,否则会报错的
[/Quote]

谢谢。

不过好像不是这样的吧,ch指向的应该就是n 啊,ch的变化当然可以改变n。
晴天v1 2008-08-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tgh621 的回复:]
C/C++ code
void charTest(char *ch){
char * you = "abcdefg";

//ch = you ;
strcpy(ch,you);

}
[/Quote]

谢谢。开始我只想到用memcpy(),把值复制过来,如果you指向的是动态的字符串,还得计算长度,strcpy()是个好办法。谢谢。
lbh2001 2008-08-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lbh2001 的回复:]
void charTest(char *ch)
{
char * you = "abcdefg";

ch = you ;
}

char n[20] ;
charTest(n);//n是数组首地址,是不会改变

函数中的ch只是得到n的一份拷贝
ch的变化并不影响n,也不可能改变n,否则会报错的
[/Quote]
lbh2001 2008-08-22
  • 打赏
  • 举报
回复
void charTest(char *ch)
{
char * you = "abcdefg";

ch = you ;
}

char n[20] ;
charTest(n);//n是数组首地址,是不会改变

函数中的ch只是得到n的一份拷贝
n的变化并不影响n,也不可能改变n,否则会报错的




晴天v1 2008-08-22
  • 打赏
  • 举报
回复
谢谢。
tgh621 2008-08-22
  • 打赏
  • 举报
回复

void charTest(char *ch){
char * you = "abcdefg";

//ch = you ;
strcpy(ch,you);

}

晴天v1 2008-08-22
  • 打赏
  • 举报
回复
对,真是蠢死了,局部变量都没得了,不好意思,太丢人了。
god_sun 2008-08-22
  • 打赏
  • 举报
回复
void charTest(char *ch){
char * you = "abcdefg";

ch = you ;

}
跳出时候you 已经指向其他地方
【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧