c语言不指定函数名 c语言函数未定义

c语言中,函数调用能不能只写一个函数名。

楼主想法有点乱啊。

创新互联主营科尔沁网站建设的网络公司,主营网站建设方案,重庆APP开发公司,科尔沁h5微信小程序开发搭建,科尔沁网站营销推广欢迎科尔沁等地区企业咨询

1.首先明确函数定义int paixu(int *p1,int *p2)最前边那个int是函数的返回类型,就是说这个函数最后要return一个值,并且这个值是int类型的。函数定义时可以省写返回类型int,此时默认返回的是int类型,但若你本来是想返回一个除了int类型外的其他类型,就不能省写了。

2.搞清函数声明、函数定义和函数调用的区别。

(1)函数声明:int paixu(int *p1,int *p2); 注意后边有个分号!!所谓声明就是先知会一声,告诉编译器有这么个函数。函数返回类型和参数类型都要标全!!声明中还有一点很有意思,它可以只标注参数的类型,而省写参数名字,就是这样int paixu(int *,int *) 。因为编译器看声明时只看参数的类型。

(2)函数定义:int paixu(int *p1,int *p2){ //函数体 } 函数定义是具体定义函数操作的地方,具体的操作语句都在大括号中进行。此时所有的类型和名字都要标注全。

(3)函数调用:paixu(p3,p4) 函数调用时不需要写类型名的,当然编译器会检查你所引用实参的类型与你定义的形参是否匹配,如不匹配会出错。如:这里的p3和p4若是其他的类型,例如float * p3,*p4;那就不行了。然后所谓的返回值就是说paixu(p3,p4)这个表达式最后是要得到一个值的,你之前定义的是int型,则它计算完就要得到一个int型的值,也就是说你可以定义一个int x;

x=paixu(p3,p4),即用x来接收储存这个值。

C语言如何实现头文件不定义函数名,然后c文件里就不编译该函数,或者其他能实现这样效果的办法

采用条件编译即可。

在.h头文件中加上

#if 1

#define FUNC_ENABLE

void fun();

#endif

在.c中加上

#ifdef FUNC_ENABLE

void fun() { printf("OK\n"); }

#endif

当我们不想编译该函数时,加#if 1改为#if 0即可。

例子:

#include stdio.h

#if 1

#define FUNC_ENABLE

void fun();

#endif

#ifdef FUNC_ENABLE

void fun() { printf("OK\n"); }

#endif

int main(void) {

fun();

return 0;

}

c语言中不允许自定义的函数名与与库函数名相同吗

不能相同

c语言是不允许在函数中定义函数的

但是c语言的扩展语言有些可以完成

比如block(代码块)

就可以完成类似的功能

C语言定义函数是必须指明函数名吗

是的!

函数定义三大要素:

返回值类型   无返回值,则用void

函数名

括号+参数    无参数用( void )

以上三个是必不可少的

c语言自定义函数可以不定义直接申明

当然可以。

调用一个函数,必须保证这个函数名在之前出现过,你可以把函数体放前面,亦可以只写一个声明。。。。。

如果你调用一个函数,这个函数没有出现在调用这一行之前,可以只是个函数声明,也可以是函数体。。。编译就像看文章一样,一行行来的,前面没有提到过这个东西,那他就不知道是什么,所以不通过。。。。函数调用之前,必须要知道他的参数有几个,类型是什么,返回值是什么,前面没有,这就没法编译,函数声明就提供了所有这方便的内容,所以要在前面写清楚。。。

c语言的函数名可以随便定义么?随便弄些字母就可以把这个定义成函数么?

可以,只要符合命名规范就行了,也就是用字母、数字、下划线来命名,数字不能在开头

但函数名最好直观一点,使人一看就知道这个函数是干什么的,比如GetSize() 一看就知道是获得大小,就比f1()这样命名要好


标题名称:c语言不指定函数名 c语言函数未定义
文章路径:http://cdiso.cn/article/hjjcej.html

其他资讯