C语言中变量为什么不能重复定义,我想问一下C语言里面的具体的机制。
因为定义就意味着给变量分配空间。暂不管重复定义有可能产生空间分配不合理的问题,首先变量名就是一个地址,只不过这个地址是由系统分配的,定义后,地址分出来,存储空间也被分配出来,变量名–地址就被固定下来。重复定义的话就要分出新地址,分配新的存储空间,原来的变量名–地址,与后来的变量名–地址,产生冲突,一样的名字,却是不同的地址,这是不允许的。
但是这种问题只会出现在标识符的链接属性一样的情况下,可以简单的理解为在同一个作用域重复定义是不可以的。如果在两个函数里分别定义int a,这种定义是可以的。因为这个a处于不同的作用域,就不算是重复定义了。
以上属于自己的理解,欢迎指正。
keil单片机里的C语言一次可以定义几个变量?
我试过,一次定义变量可以定义很多个,问题可能在于你定义的变量总数超过了存储区大小,你可以试试在别的函数里面减少个变量,再看一次定义4个变量能通过不,顺便可以把你的错误信息发上来看看。
可以同时定义多个变量吗?
我只知道C语言中是可以的,int a,b;定义整形变量a,b,如果要是其他的就不了解了
C语言怎么同时定义两个整型变量
#include stdio.h
void main()
{
int a,b;
a=b=3;
printf(“a=%d,b=%d\n”,a,b);
}