c语言外函数变量能重复吗 c语言外函数变量能重复吗怎么设置

c语言中函数名是否可以和变量同名?

答案是:否

创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站设计、成都网站建设,塑造企业网络形象打造互联网企业效应。

c语言中,变量和函数名称不允许相同,比如你定义一个函数int a();那么你的main函数中,如果int a=a();则会报错,这是c语言中非常讨厌的一点,当然,反对者可能会说:“容易引起名称混淆,导致不容易维护”,这是很牵强的说法,用现在流行的词汇叫做:强行为c语言的缺点洗白,c语言的这个限制,极大程度的增加了初学者,尤其是自学者的学习难度,因为初学者不会考虑变量的含义,通常定义aa,bb,cc这样更利于快速学习,但是出来这个限制,并且不知情的情况下,甚至都不知道在网上如何搜索来解决这个小问题,所以个人觉得这是c的不友好之一

C语言中,在同一个函数下局部变量和局部静态变量可以同名吗?

不可以,同一作用域的变量名不允许相同, 不同作用域下的同名变量起作用的是最后一层。

C语言中变量为什么不能重复定义,我想问一下C语言里面的具体的机制。

因为定义就意味着给变量分配空间。暂不管重复定义有可能产生空间分配不合理的问题,首先变量名就是一个地址,只不过这个地址是由系统分配的,定义后,地址分出来,存储空间也被分配出来,变量名--地址就被固定下来。重复定义的话就要分出新地址,分配新的存储空间,原来的变量名--地址,与后来的变量名--地址,产生冲突,一样的名字,却是不同的地址,这是不允许的。

但是这种问题只会出现在标识符的链接属性一样的情况下,可以简单的理解为在同一个作用域重复定义是不可以的。如果在两个函数里分别定义int a,这种定义是可以的。因为这个a处于不同的作用域,就不算是重复定义了。

以上属于自己的理解,欢迎指正。


分享题目:c语言外函数变量能重复吗 c语言外函数变量能重复吗怎么设置
地址分享:http://myzitong.com/article/ddcspcd.html