C语言问题 23题 《c和指针》 表格中cd都没问题 但ab真心不太懂 不要复制
C语言问题23题《c和指针》表格中cd都没问题但ab真心不太懂不要复制a的疑问:external链接属性本质上是不是static存储类型a的做法是不是-y()inta=1...
C语言问题 23题 《c和指针》 表格中cd都没问题 但ab真心不太懂 不要复制
a的疑问:external链接属性本质上是不是static存储类型 a的做法是不是-y() int a=1 x() 定义放中间
b的疑问:none链接属性怎么可能让两个函数访问 不懂啊😭 展开
a的疑问:external链接属性本质上是不是static存储类型 a的做法是不是-y() int a=1 x() 定义放中间
b的疑问:none链接属性怎么可能让两个函数访问 不懂啊😭 展开
展开全部
http://blog.csdn.net/ljz2009y/article/details/8142653
这个是external-internal-none的一些说明
http://zhidao.baidu.com/link?url=iTv4M_Zqzmqir1D9ByiRHr6R40R0oNFh-KkD5IQBde8PHDH6QkXnRs6wgmo2LpZOS7c1EObQTzZ2Oop0WhAotK
这个是全局变量存储区的一些说明,全局变量也是在static区的
首先a的链接属性为external,说明a不是在函数x和函数y同一个文件中定义的,是在其他文件中定义的,在x函数和y函数所在源文件中声明引用而已。另外看a的存储类型为static,那么说明a是全局变量或者是静态变量,但是由于静态变量无法在其他源文件中引用,所以不是static变量,而且extern也只能引用全局变量。另外作用域是x可用,y不可用,因此可以知道extern int a;是写在函数x中的。因此,结论是:
文件1.c中:
int a =1;
void function()
{
}
文件2.c中:
void x()
{
extern int a;
}
void y()
{
}
int main(void)
{
return 0;
}
b的存储类型为static说明不是全局变量就是static变量,链接属性为none说明不是static变量,否则链接属性为internal,则b为全局变量,而后面的作用域x和y都可用更说明了变量b是全局变量。因此结论是:
文件1中
char b = 2;
void x()
{
}
void y()
{
}
这个是external-internal-none的一些说明
http://zhidao.baidu.com/link?url=iTv4M_Zqzmqir1D9ByiRHr6R40R0oNFh-KkD5IQBde8PHDH6QkXnRs6wgmo2LpZOS7c1EObQTzZ2Oop0WhAotK
这个是全局变量存储区的一些说明,全局变量也是在static区的
首先a的链接属性为external,说明a不是在函数x和函数y同一个文件中定义的,是在其他文件中定义的,在x函数和y函数所在源文件中声明引用而已。另外看a的存储类型为static,那么说明a是全局变量或者是静态变量,但是由于静态变量无法在其他源文件中引用,所以不是static变量,而且extern也只能引用全局变量。另外作用域是x可用,y不可用,因此可以知道extern int a;是写在函数x中的。因此,结论是:
文件1.c中:
int a =1;
void function()
{
}
文件2.c中:
void x()
{
extern int a;
}
void y()
{
}
int main(void)
{
return 0;
}
b的存储类型为static说明不是全局变量就是static变量,链接属性为none说明不是static变量,否则链接属性为internal,则b为全局变量,而后面的作用域x和y都可用更说明了变量b是全局变量。因此结论是:
文件1中
char b = 2;
void x()
{
}
void y()
{
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询