C语言函数变量重复定义
是这样的,同一个函数内定义的每个变量名(局部变量)是唯一的,其内容的改变与本函数外的任何变量无关。
创新互联建站专注于罗山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供罗山营销型网站建设,罗山网站制作、罗山网页设计、罗山网站官网定制、小程序开发服务,打造罗山网络公司原创品牌,更为您提供罗山网站排名全网营销落地服务。
在一个可以正确执行的c语言程序中,一个c语言函数的声明(原型)可以出现任意多次吗?
函数重载的形式可以。返回值函数名相同。
例:
int sum(int a);
int sum(int a,int b);
然后各自实现就好
C语言中,同一个函数可以被定义多次吗?
可以这样写,其实最常见这样写法的是我们使用printf的时候
printf("max=%d",max(x,y));
这是因为max是有返回值,这种写法就是将函数的返回值作为函数的参数。
a=max(x,max(y,z));
其实就是等价于
y = max(y,z);
a=max(x,y);
只是简化了写法而已。
今天看C语言书上说函数只能定义一次,而声明可以有好多个,请高手给我再详细解释一下,最好能给个例子
首先要知道什么是函数申明什么是函数定义。。。函数申明就是只有返回类型+函数名(形参...);
就比如说 申明函数 void fun() ; 而函数的定义是函数的实现部分。比如:void fun() { ..... //具体实现语句 }
因为在C语言中不允许函数的重写,所以一个函数只能定义一次。。而函数申明是为了让调用它的其他函数能知道它的存在,就比如说:当你的main函数想调用 fun 函数时,如果fun函数在main函数的下面,具体如下:
void main() {
fun() ; // 调用fun函数
}
void fun() {
...... // 实现部分
}
这样的话系统就会报错。。因为main函数在调用fun函数时,没有发现到它。这是解决的办法有两个:1.把fun函数写到main函数的上面。2.在main函数里面或上面写上fun函数的申明 :void fun() ;
什么时候要多次用到函数申明呢? 其实答案很简单:当你的其他函数调用一个函数时如果被调用的函数没有在调用函数的前面都必须要用到函数申明,所以。。。
C语言 在不同的 .c 文件中可以定义相同名称的函数吗?
函数:
1.C语言在相同的.c文件中一定不能定义名称相同的函数,即使是重载的,因为C语言不支持重载,这样链接的时候会报错。
2不同的.c文件中一般不能定义名称相同的函数,比如int func(int*);如果非要定义名称相同的函数,而且函数只在该(对应的).c文件中使用,可以声明成static类型。如两个函数都定义为static int func(int*);这样就可以定义成相同名字。
变量:
1.静态变量在同一个.c文件中可以命名相同,但是只能初始化一次,否则链接出错。而且实际只有一个该名字的变量。
如 static int tst; static int tst; //可以。
static int tst = 0; static int tst; //可以
static int tst = 0; static int tst = 0;//错误
2.静态变量在不同.c文件中可以命名相同。但是该变量只能在该.c文件中使用。
具体可以百度强符号与弱符号。
以上。
为什么函数可以重复声明,而变量不能
(1)C语言全局变量不可以重复定义,但需要注意的是在C语言函数中,可以定义与全局变量同名的局部变量,此时的全局变量会暂时无效。 (2)全局变量是相对于局部变量而言的。全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个
文章名称:c语言函数可以重复声明 c语言可以重复声明吗
文章起源:http://lswzjz.com/article/hjdcio.html