c语言一个函数与变量调用的问题

snowwave123 2008-04-22 04:07:39
如下程序:

#include <iostream.h>
#include <malloc.h>

void ddd(int a,int c);
void main()
{
int k=0,b=0;

ddd(k,b)
cout<<k<<","<<b<<endl;
}

void ddd(int a ,int c)

{
a=10;
c=10;
}

我想让主函数中的k,b在调用后获得ddd函数中k,b的值,该怎么做呢
我记得好像可以在主函数中先为k,b分配资源,然后再释放资源,但怎么操作不会了
试了好几次都不成功,不可以直接k=malloc(sizeof(int)),b=malloc(sizeof(int))
然后free(k),free(b)码?如果用指针操作该怎么操作呢,c语言没学好,望达人指点。
...全文
800 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
m60a1 2008-04-27
  • 打赏
  • 举报
回复
up ,up LZ的c/c++真是学得"融汇贯通"啊:)!
iverson817 2008-04-26
  • 打赏
  • 举报
回复
这分明是C++啊·楼主·
gaofanfan 2008-04-26
  • 打赏
  • 举报
回复
这种问题最好自己研究透了,这是c和c++的区别阿。
用引用不就行了??
rxz1973 2008-04-25
  • 打赏
  • 举报
回复
各位朋友,我想请教一个比较深入点的问题,一个函数调用的时候,参数到底在内存中是如何表达的?
kukuxiaolang 2008-04-24
  • 打赏
  • 举报
回复
using namespace std;
snowwave123 2008-04-24
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 kukuxiaolang 的回复:]
using namespace std;
[/Quote]

这个,没关系吧
snowwave123 2008-04-24
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wencn911 的回复:]
引用 12 楼 snowwave123 的回复:


void ddd(int a, int c);
戒指的声明...

baihacker大哥这话什么意思啊


函数声明的参数是整型变量,但在实现和调用时传入的是指向整型的指针变量,这是戒指复制代码的一个小失误

这样写好了,不要声明
#include <stdio.h>

void ddd(int *a, int *c)
{
*a = 10;
*c = 10;
}
int main(void)
{
int k=0, b=0;

dd…
[/Quote]


要注意编程风格,哈哈。
_星星_ 2008-04-24
  • 打赏
  • 举报
回复
本来就是段C++代码。
jeff_nie 2008-04-23
  • 打赏
  • 举报
回复
mark.
realduke2000 2008-04-23
  • 打赏
  • 举报
回复
形参问题,没搞明白参数传递
wencn911 2008-04-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 snowwave123 的回复:]


void ddd(int a, int c);
戒指的声明...

baihacker大哥这话什么意思啊
[/Quote]

函数声明的参数是整型变量,但在实现和调用时传入的是指向整型的指针变量,这是戒指复制代码的一个小失误

这样写好了,不要声明
#include <stdio.h>

void ddd(int *a, int *c)
{
*a = 10;
*c = 10;
}
int main(void)
{
int k=0, b=0;

ddd(&k, &b);
printf("%d\t%d", k, b);
return 0;
}

楼主需要看看函数传址和传值的概念


snowwave123 2008-04-22
  • 打赏
  • 举报
回复
回顾和补充了一下基本知识,好久不编程,忘光光了啊,我要学习,加油加油。
谢谢各位,尤其是yushui213,Treacy.呵呵,散分啦。
Ethan_yushui213 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 snowwave123 的回复:]
引用 11 楼 yushui213 的回复:
引用即变量的别名

是说在定义变量的引用时,计算机为其分配了地址,然后可以存储数据么,那用完之后那个地址怎么销毁的



[/Quote]

定义引用时不重新分配内存的,被引用的那个变量已经分配内存了,所以引用一定要初始化
AndrewITBOY 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 snowwave123 的回复:]


void ddd(int a, int c);
戒指的声明...

baihacker大哥这话什么意思啊
[/Quote]
戒指大哥好象写漏了点什么...
snowwave123 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yushui213 的回复:]
引用即变量的别名
[/Quote]
是说在定义变量的引用时,计算机为其分配了地址,然后可以存储数据么,那用完之后那个地址怎么销毁的

*a=10; //这个操作过程是什么,是将10存入a的地址中么

指针和引用的区别有哪些啊?
cats_home 2008-04-22
  • 打赏
  • 举报
回复
C++下用传引用
C语言下用传递变量K,B的地址到形参中去
我认为像这种问题最好先去看C语言的教材再上来问。
snowwave123 2008-04-22
  • 打赏
  • 举报
回复


void ddd(int a, int c);
戒指的声明...

baihacker大哥这话什么意思啊
Ethan_yushui213 2008-04-22
  • 打赏
  • 举报
回复
引用即变量的别名
snowwave123 2008-04-22
  • 打赏
  • 举报
回复
谢谢批评,呵呵,我是在c++下做测试,所以习惯写cout了
Ethan_yushui213 2008-04-22
  • 打赏
  • 举报
回复
让各位LS的大大见笑了。。。

加载更多回复(8)

69,364

社区成员

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

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