C语言,函数指针定义中实参表为空的问题。

作者&投稿:始味 (若有异议请与网页底部的电邮联系)
C语言,函数指针定义中实参表为空的问题。~

C语言中函数定义的返回值为空的问题
void
f(){
float
a;
printf(“%f,a”);}这个对吗?函数体里能有变量的定义吗?
最佳答案由提问者推荐
匿名用户
改成这样就对了:
void
f()
{
float
a;
printf("%f",a);//你原来的输出格式不对
}
void类型的函数无返回值,也就是说,不需要return语句
当然也可以在函数末尾加上一条空的return语句:return;(和return
1;是不同的)
void
f(float
a)
{printf("%f",a);
}
也是对的....

改成这样就对了:
void f()
{
float a;
printf("%f",a);//你原来的输出格式不对
}
void类型的函数无返回值,也就是说,不需要return语句
当然也可以在函数末尾加上一条空的return语句:return;(和return 1;是不同的)
void f(float a)
{printf("%f",a);
}
也是对的....

首先道歉一下, 之前差点误导你, 这几天有事也没看回复。

之前的回复有误,这个特意温故了一下指针的知识,来重新更新一下答案。

真确的写法:

错误的写法:

有上可知:

1、定义成void(*pf)()是不能接收fun(int, char*)的, 必须要有相同的参数。

2、返回值定义成void类型是可以的,void是任意类型,可根据实际情况而变化。

以上是我对这个题目的理解,如果对你有帮助,青采纳一下,谢谢。



如果函数声明是void fun(int n,char *s)
那么指向该函数的指针声明也必须是void (*pf)(int,char*)
void (*pf)()是错误的,不能用于指向该函数。

函数指针只是个指针,关键是调用时,参数是否一致。

C语言中函数定义的返回值为空的问题
void f(){ float a; printf(“%f,a”);}这个对吗?函数体里能有变量的定义吗?
最佳答案由提问者推荐
匿名用户
改成这样就对了:
void f()
{
float a;
printf("%f",a);//你原来的输出格式不对
}
void类型的函数无返回值,也就是说,不需要return语句
当然也可以在函数末尾加上一条空的return语句:return;(和return 1;是不同的)
void f(float a)
{printf("%f",a);
}
也是对的....


C 语言结构体为什么可以定义自己的指针,和函数指针 ,而不能定义自己类型...
但指针就不同了,C语言的指针大小是4个字节,他只是指向一个地址,和其他的全部无关,他不需要知道自己类型有多大,有怎样的结构什么的,这些都不是他该关心的,他只要指向一个正确的地址就OK了,这就是指针的职责。定义指针是确定,不会影响该类型的结构,也不会出现无穷递归展开,所以在结构体中...

c语言指针含义问题?
你不明白的是具体的用法!而不是含义!倒数第一个,是一个函数指针直接用pfi=funcname;这句就可以指向一个函数,调用函数的时候就用pfi();上面指向函数的指针你了解了吧,函数名本身就是地址,要看它的本质。比如数组,数组的名字比如a[10]中a就是一个地址,这就是它的本质!倒数第二个,我把...

C语言 指针函数 函数指针 什么区别联系?最好有例子?一定采纳
没觉得指针函数这个概念有什么大的意义。。。可能其最大的意义就是拿过来和函数指针一起混淆初学者的视听吧。指针函数指的是返回一个指针的函数,比如我们常见的gets(),strcpy(),strcat(),malloc()等等。如果单独把它当成一个新概念真的没有什么意义。这些函数除了返回一个指针之外没有任何共性,但是...

c语言中指针怎么使用?
1、使用场景 使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:include<stdio.h> include <stdlib.h> int main(int argc, char const *argv[]){ int a[5]={0,1,2,3,4};int *b,*d;int c=2;int *e=a; \/\/e指向a数组首地址 \/\/*b=2; 无法直接初始...

【c语言】定义一个使用指针的函数,实现交换数组a和数组b中的元素_百 ...
你原代码函数那样写是实现不了数组交换的,我用你的代码小做修改。你看下吧。说明:^=只是利用异或来实现2个地址的数值交换,和你定义一个变量做交换是一个效果。include <stdio.h>#include <stdlib.h>void change(int *p1,int *p2,int len){ while(len--) *p1^=*p2,*p2^=*p1,*p...

C语言中,指针函数和函数指针有什么区别?
在C语言中指针函数和函数指针是两个不同的概念,不能混淆。指针函数本质上是函数,是一个返回类型为指针的函数,如:int* max(int *array,int n){ \/\/找最大值的地址 return 最大值的地址;} max就是一个指针函数。而函数指针本质上是指针,是指向函数的指针,如:int (*funp)(int a,int b...

用c语言定义一个函数,计算平均数,方差,标准差。(请用指针完成)
\/\/计算平均数,方差,标准差。#include <stdio.h>#include <conio.h>#include <stdlib.h>#include #include <math.h>#define N 100void TongJi(double a[],int n,double *aver,double *vari,double *stdDev){ \/\/对长度为n的数组a进行统计,统计其平均值aver、方差vari、标准差stdDev int...

函数指针怎么调用
1、首先打开vs2014,新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个函数addTwoNumbers。5、将addTwoNumbers函数地址赋值给ptr_sum。6、调用函数指针求和。7、运行程序,看看结果。注意事项:因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型...

c语言中能不能定义函数数组
函数不可以定义为数组,可以用函数指针来操作。1.函数指针的数组定义方法:返回值类型( * 指针变量名[Number]) (形参列表)。例如:double add(double a,double b){} double sub(double a,double b){} double mul(double a,double b){} double div1(double a,double b){} double (*oper_...

c语言中函数名就是函数指针吗?
是的。c语言中, 函数名也称为函数的指针,所以c语言中函数名就是一个指针。“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的...

临泽县18783375826: C语言,函数指针定义中实参表为空的问题. -
第亮安宫: 首先道歉一下, 之前差点误导你, 这几天有事也没看回复.之前的回复有误,这个特意温故了一下指针的知识,来重新更新一下答案.真确的写法:错误的写法:有上可知:1、定义成void(*pf)()是不能接收fun(int, char*)的, 必须要有相同的参数.2、返回值定义成void类型是可以的,void是任意类型,可根据实际情况而变化.以上是我对这个题目的理解,如果对你有帮助,青采纳一下,谢谢.

临泽县18783375826: c语言中函数形参为空指针,调用时可以不用带实参吗 -
第亮安宫: 不可以.如果形参为void *型,那调用的时候也是要实参的.如果不想用实参, 只能定义成void型.或者定义成可变参数(...)

临泽县18783375826: c语言的函数指针举个例子 -
第亮安宫: 函数指针告诉CPU下一步需要执行哪里的代码的指针, 一数组十分相像.#include <stdio.h> void function(int i, double d) //一个函数的声明 { printf("函数运行, %d, %lf\n", i, d); } void AnotherFunction(int i, double d) //另外一个函数声明 { printf...

临泽县18783375826: C语言:在fun()函数中已经定义了指针s,要怎么表示他是空指针 -
第亮安宫: 是赋值,前一句是把指针指向0,后一句是给指针指向的变量赋值 前一句不会在fun之外产生影响,也就是变成空指针 再看看别人怎么说的.

临泽县18783375826: C语言中函数定义的返回值为空的问题 -
第亮安宫: 改成这样就对了: void f() {float a;printf("%f",a);//你原来的输出格式不对 } void类型的函数无返回值,也就是说,不需要return语句 当然也可以在函数末尾加上一条空的return语句:return;(和return 1;是不同的) void f(float a) {printf("%f",a); } 也是对的....

临泽县18783375826: C语言中函数的返回值为空 怎么带回值拜托了各位 谢谢 -
第亮安宫: LZ的意思是函数定义的时候将返回值类型定义为void的情况么?可以通过参数里面传指针,这样形参的值改变实参的值也跟着改变.比如定义为: void aaa(int *b,int *c){...} 调用的时候就aaa(&变量1,&变量2)

临泽县18783375826: c 语言中的数组指针可以被初始化为空指针吗? -
第亮安宫: 任何指针都可以初始化为空(NULL),如果指针是变量的话,还可以赋值为空. 比如: int* p0 = NULL; // 整型指针初始化为空 p0 = NULL; // 赋值为空 ------------------- void (*p1) (int) = NULL; // 函数指针初始化为空 p1 = NULL; // 赋值为空 ----------------------- int a[20]; // 数组 int (*p2)[20] = &a; // 数组指针初始化为数组地址 int (*p3)[20] = NULL; // 数组指针初始化为空 p2 = NULL; // 赋值为空 p3 = NULL; // 赋值为空

临泽县18783375826: 谁能详细解释一下C语言函数中的无参、有参、形参、实参,要简单易懂!谢谢! -
第亮安宫: 在C语言中,函数的无参用关键字用void表示,如果一个函数的参数为void,当我们调用此函数并给它传递一个参数时,编译器会给出错误的警告,因为你把参数传递给了一个不接受参数的函数.例:int func(void) { ...} int main(void) { func(5) ; /*It ...

临泽县18783375826: C语言中的函数指针 -
第亮安宫: 函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法:int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(int x);p=fun1; //指向fun1 p(2) //这时等价于fun1(2) p=fun2; //也可以指向fun2 . .但...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网