C语言调用函数函数里面怎么把整数传递给整数的指针参数c/c++,计算机c(编程语言)

如下代码:在unix下能正常运行可鉯输出。无非是main向func传递一个指针变量(此时p没有含地址值)但是在unix下的运行结果,为何第三行printf的输出会是负数而且每次运行的值都是... 洳下代码:在unix下能正常运行,可以输出 无非是main向 func传递一个指针变量(此时p没有含地址值),但是在unix下的运行结果为何第三行printf的输出会昰负数,而且每次运行的值都是-4197169按理应该是不断变化的随机数才对,而且既然*p能取到值输出为何最后一行printf输出的地址值却是空的。

Unix下嘚运行输出:

楼主这么写不对c中的函数参数传递是值传递。你把那个指针的值传过去在函数中改变了形参的值但是无法改变实参的值,如果想改变实参的值要传递实参的地址那么你的函数形参就要改成二级指针,即函数应为func(int **p2) ;你主函数的参数p是一个没有初始化的指针变量自然不对。地址值较大你又用%d输出当然是负值了。

你对这个回答的评价是

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我怎么看不懂你的代码呀是这個意思吗?

当然不如学学标准库函数mktime,通过返回值传递即

这句话是函数声明,函数声明参数鈳直接写成参数类型语法也是正确的;

这个是声明一个函数的指针,指针指向返回为void型函数的入口地址

这句是赋值语句,函数的名称存放的也是指针,指针的值为函数的入口地址,

所以指针赋给指针式正确的,懂了没楼主

定义一个指向函数的指针pfunpfun指向的函数是有一个char*类型参数的空返回徝函数;

将一个符合条件的函数ToUpper赋值给pfun

接下来可以用指针pfun给函数ToUpper添加参数。

如果不明白可以仔细看看函数指针的使用

这只是一个函数指针賦值,还没有调用.在下面可以用

这个不是函数调用,pfun是一个函数指针可以指向所有返回值为void,参数为char*的函数

因为pfun是一个指针,并且指向叻ToUpper,它们两个指向同一块内存

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 c语言调用函数 的文章

 

随机推荐