看我理解的是不是对的~~
char s[]="123456789" ;
char *str ;
str = s ; //其中str 指的是 S 的地址 ;
*str = s ; //其中的*str指的是 S 的内容~
是这样理解的吗/
----------------解决方案--------------------------------------------------------
#include <string.h>
#include <stdio.h>
void test( char **str1 ,char **str2 ,char *str3 )
int main( )
{
char strp[] = "012346567890123465678901234656789012346567890123465678901234656789" ;
char *p1 ;
char *p2 ;
test( &p1 , &p2 , strp ) ;
puts(p1);
puts(p2);
}
/**************函数(test)******************/
void test( char **str1 ,char **str2 ,char *str3 )
{
*str1 = str3 ;
*str2 = *str1 ;
}
这不给你改过了吗
----------------解决方案--------------------------------------------------------
*str = s ; //其中的*str指的是 S 的内容~
是这样理解的吗/
S的内容是什么?
----------------解决方案--------------------------------------------------------
这个东西就是难搞~~
----------------解决方案--------------------------------------------------------
*str1 是指向 str3 的地址
&p1 调用地址
对吗??
不明白 **str1 ;
[此贴子已经被作者于2006-7-5 17:36:49编辑过]
----------------解决方案--------------------------------------------------------
**str1估计是指向指针的指针,不过SunShining师兄讲的我也没明白,到底为什么没有返回呢!
----------------解决方案--------------------------------------------------------
**str1估计是指向指针的指针,不过SunShining师兄讲的我也没明白,到底为什么没有返回呢!
**str1 是指向指针的指针.
叫俺怎么说呢!!
大家都知道..函数的参数传递只是值传递吧.
如果想保存改变的值.只能用指针.(不太严谨.当然全局变量也可以..不过我们现在只讨论指针)
而指针改变的是它所指向的内容...
LZ的程序中..是想改变其指针本身..而就象平常一样..指针也仅仅是值传递.
所以..我们需要再用一个指针来指向这个指针..同而改变这个指向指针的指针的内容..也就是想要改变的指针本人
请注意 指针与指针所指向内容的区别.
[此贴子已经被作者于2006-7-5 19:20:45编辑过]
----------------解决方案--------------------------------------------------------
#include <string.h>
#include <stdio.h>
void test( char **str1 ,char **str2 ,char *str3 )
int main( )
{
char strp[] = "012346567890123465678901234656789012346567890123465678901234656789" ;
char *p1 ;
char *p2 ;
test( &p1 , &p2 , strp ) ;
puts(p1);
puts(p2);
}
/**************函数(test)******************/
void test( char **str1 ,char **str2 ,char *str3 )
{
*str1 = str3 ;
*str2 = *str1 ;
}
感谢SunShining师兄的解释,结合程序很容易理解了。
----------------解决方案--------------------------------------------------------
**str1 是指向指针的指针.
叫俺怎么说呢!!
大家都知道..函数的参数传递只是值传递吧.
如果想保存改变的值.只能用指针.(不太严谨.当然全局变量也可以..不过我们现在只讨论指针)
而指针改变的是它所指向的内容...
LZ的程序中..是想改变其指针本身..而就象平常一样..指针也仅仅是值传递.
所以..我们需要再用一个指针来指向这个指针..同而改变这个指向指针的指针的内容..也就是想要改变的指针本人
请注意 指针与指针所指向内容的区别.
谢谢SunShining师兄不厌其烦 的讲解~~~虽然我只听懂了一部分~~ 还是非常感谢SunShining
再次谢谢拉`
----------------解决方案--------------------------------------------------------