|
|
发表于 2006-5-8 11:06:35
|
显示全部楼层
Post by Lolita
第一个没问题吧,虽然走了弯路,但也是对的。
我错了, 对数组名取地址没意义,因为数组名本身就是指针而不是指针变量。
所以楼主的实参 &buf 其实就等于 buf , 而不是 char **
一定要用char ** 方式传递的话,可以如下操作。- #include <stdio.h>
- void foo(char **buf)
- {
- (*buf)[0] = 'T';
- }
- int main()
- {
- char buf[10]="test";
- char *s=buf;
- printf("original: %s\n", buf);
- foo( &s );
- printf("changed: %s\n", buf);
- return 0;
- }
复制代码 |
|