怎么传递?

afeisky 2003-02-21 05:23:40
#include <string.h>
#include <malloc.h>
main()
{
void fun();
char *p[200];
fun();
}

void fun(char *p???)
{
for (i=0;i<200;i++) p[i]=0;
}
怎样把*p[200]传到fun中,使得fun函数中能用*p[200];
...全文
36 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
nocool 2003-02-25
  • 打赏
  • 举报
回复
楼上风筝说的对,sizeof(p)已经是指针大小的200倍了,不应该乘以200了。

xdspower 也说出了你的错误
xdspower 2003-02-24
  • 打赏
  • 举报
回复
for (i=0;i<200;i++) if (*(p+i)==NULL) printf(" =%d ",i);
afeisky 2003-02-24
  • 打赏
  • 举报
回复
就是用了memset后。
for (i=0;i<200;i++) if (p==NULL) printf(" =%d ",i); 打印不出%d来啊,发现没有一个[i]是NULL的。
nocool 2003-02-23
  • 打赏
  • 举报
回复
你说的“但不行"是什么意思呀?
wshcdr 2003-02-22
  • 打赏
  • 举报
回复
prf8(风筝)的话有问题?

sizeof(p)的值只是一个指针的长度

当然要乘以200的
prf8 2003-02-22
  • 打赏
  • 举报
回复
sizeof(p))在这里的值,已经是你的200了,不用再加上乘200;
prf8 2003-02-22
  • 打赏
  • 举报
回复
char *p[20];


int main()
{
void fun();
for(int i=0; i<20; i++)
{
char *ch = (char *)malloc(sizeof(char));
*ch = 'a' + i;
p[i] = ch;
}

fun();
}
void fun()
{
for (int i=0;i<20;i++)
//p[i]=0;
printf("%s\n",p[i]);
}


afeisky 2003-02-22
  • 打赏
  • 举报
回复
不好意思:我用了memset(p,0,200*sizeof(p));但不行啊。
用的是TC,不是c++;
#include <stdio.h>
void main()
{
char *p[200]; int i=0;
memset(p,NULL,200*sizeof(p));
for (i=0;i<200;i++) if (p==NULL) printf(" =%d ",i);
}
nocool 2003-02-22
  • 打赏
  • 举报
回复
afeisky 不好意思,我从cwanter那里直接拷的后半部分,没有仔细看,那样写是不对的,不可能直接将整个数组清零,除非用memset设零。
memset(p,0,200*sizeof(p));


至于数组参数传递,你可以参考c++ primer中的讲解,也可以采用vector。
sjd163 2003-02-22
  • 打赏
  • 举报
回复
不用传递将
char *p[200];
作为全局变量不就那里都可用了。
afeisky 2003-02-22
  • 打赏
  • 举报
回复
char *p[200]={0};
是把p[i]都初始化成NULL了吧。是吧。
nocool 2003-02-21
  • 打赏
  • 举报
回复
直接声明函数类型为
void fun(char *p[])
参数是指向char*数组的指针,这样就可以穿进去了。
调用时直接用 func(p);

void func(char *p[])
{
p[0]=0;
}

void main()
{
char *p[200]={0};
func(p);
}

zalyer 2003-02-21
  • 打赏
  • 举报
回复
在主函数中定义
void fun(char *p[200],....);
使用
fun(p,...);


fun函数中
void fun(char *p[200],....);
{......
}
cwanter 2003-02-21
  • 打赏
  • 举报
回复
void func(char *p[200])
{
p[0]=0;
}

void main()
{
char *p[200]={0};
func(p);
}
liu_feng_fly 2003-02-21
  • 打赏
  • 举报
回复
使用vector

70,037

社区成员

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

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