5个回答
展开全部
不知下列代码对你是否有用
记住:C中只有_值_传递!
#include <conio.h>
#include <stdio.h>
void fun(int **pp, int *i);
int main(void)
{
int *p, i;
i = 88;
fun(&p, &i);
printf("%d\n", *p);
getch();
return 0;
}
void fun(int **pp, int *i)
{
*pp = i;
}
或者
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 100
void getmemory(int **pp, int n);
int main(void)
{
int *p, i;
getmemory(&p, N);
for (i = 0; i < N; i++)
p[i] = i;
for (i = 0; i < N; i++)
(i+1)%10 ? printf("%3d", p[i]) : printf("%3d\n", p[i]); /*输出0~99*/
getch();
return 0;
}
void getmemory(int **pp, int n)
{
*pp = (int *)malloc(n * sizeof(int));
}
记住:C中只有_值_传递!
#include <conio.h>
#include <stdio.h>
void fun(int **pp, int *i);
int main(void)
{
int *p, i;
i = 88;
fun(&p, &i);
printf("%d\n", *p);
getch();
return 0;
}
void fun(int **pp, int *i)
{
*pp = i;
}
或者
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 100
void getmemory(int **pp, int n);
int main(void)
{
int *p, i;
getmemory(&p, N);
for (i = 0; i < N; i++)
p[i] = i;
for (i = 0; i < N; i++)
(i+1)%10 ? printf("%3d", p[i]) : printf("%3d\n", p[i]); /*输出0~99*/
getch();
return 0;
}
void getmemory(int **pp, int n)
{
*pp = (int *)malloc(n * sizeof(int));
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知下列代码对你是否有用
记住:C中只有_值_传递!
#include <conio.h>
#include <stdio.h>
void fun(int **pp, int *i);
int main(void){ int *p, i;
i = 88;
fun(&p, &i);
printf("%d\n", *p);
getch();
return 0;}
void fun(int **pp, int *i)
{ *pp = i;}
或者
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 100
void getmemory(int **pp, int n);
int main(void)
{ int *p, i;
etmemory(&p, N);
for (i = 0; i < N; i++)
p[i] = i;
for (i = 0; i < N; i++)
(i+1)%10 ? printf("%3d", p[i]) : printf("%3d\n", p[i]); /*输出0~99*/
getch();
return 0;
void getmemory(int **pp, int n)
{
*pp = (int *)malloc(n * sizeof(int));
}
记住:C中只有_值_传递!
#include <conio.h>
#include <stdio.h>
void fun(int **pp, int *i);
int main(void){ int *p, i;
i = 88;
fun(&p, &i);
printf("%d\n", *p);
getch();
return 0;}
void fun(int **pp, int *i)
{ *pp = i;}
或者
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 100
void getmemory(int **pp, int n);
int main(void)
{ int *p, i;
etmemory(&p, N);
for (i = 0; i < N; i++)
p[i] = i;
for (i = 0; i < N; i++)
(i+1)%10 ? printf("%3d", p[i]) : printf("%3d\n", p[i]); /*输出0~99*/
getch();
return 0;
void getmemory(int **pp, int n)
{
*pp = (int *)malloc(n * sizeof(int));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主的意思就是C里面是怎么带回返回值的?
void fun( int *p )
{
.....
}
void main()
{
int a = 0;
fun( &a );
}
void fun( int *p )
{
.....
}
void main()
{
int a = 0;
fun( &a );
}
追问
例如这是使用子函数的函数参数传回整形a,b,如果是指针a,b改怎样传回呢? 谢谢
void ser(int *x,int *y)
{
*x=20;
*y=30;
}
main()
{
int a,b;
ser(&a,&b);
printf("a:%d b:%d\n",a,b);
}
追答
void ser(int *x,int *y)
{
*x=20;
*y=30;
}
main()
{
int a,b;
ser(&a,&b);
printf("a:%d b:%d\n",a,b);
}
这样写是对的;
不过一般不是这么用,这不是无聊吗?
一般函数原型是这样的 void fun( int, char,.... void * );
典型的是signal()函数;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对第1种方式扩展,由于fp1是全局变量,所以子函数对它的操作会影响到主函数:定义fp1为全局变量,子函数对其赋值,然后主函数对其所指文件进行写入操作。
#include "stdio.h"
FILE *fp1; //将文件指针定义为全局变量void sub(void)
{
fp1=fopen("test.txt","awt");//如果有选项a可以在保证文件的原有内容不丢失,新内容写在后面,如果没有a则会删除原有内容替换为新内容。
}
void main(void)
{
sub();
fprintf(fp1,"\n%s\n","测试文件指针作为全局变量是否可以传递到子函数");
fclose(fp1);
#include "stdio.h"
FILE *fp1; //将文件指针定义为全局变量void sub(void)
{
fp1=fopen("test.txt","awt");//如果有选项a可以在保证文件的原有内容不丢失,新内容写在后面,如果没有a则会删除原有内容替换为新内容。
}
void main(void)
{
sub();
fprintf(fp1,"\n%s\n","测试文件指针作为全局变量是否可以传递到子函数");
fclose(fp1);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没看懂你到底想干什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询