求助关于指针的问题
在vs2015中,使用如下代码int a=2000;
int *b ;
b = &a;
会出现错误,
但是:
int a=2000;
int *b = &a;
却不会出现错误
这是为什么啊?
同样是vs2015实测我的没问题啊,可以描述的再详细点吗?{:10_266:} 看图 newu 发表于 2017-4-30 10:09
看图
你放在main函数外面试试
newu 发表于 2017-4-30 10:08
同样是vs2015实测我的没问题啊,可以描述的再详细点吗?
把
int a=2000;
int *b ;
b = &a;
放在main函数外面好像就不行,你试试
632076202 发表于 2017-4-30 10:39
把
int a=2000;
int *b ;
int a=2000;
int *b ;
可以放在main函数外面
b = &a;
不可以,不要问我为什么(这里应该是所有函数的外面) #include <stdio.h>
int a = 2000;
int *b;
int main(void)
{
b = &a;
return 0;
}
#include <stdio.h>
int a = 2000;
int *b;
//这下,b = &a; 也放在main函数的外面了
void foo(void)
{
b = &a;
}
int main(void)
{
return 0;
}
人造人 发表于 2017-4-30 11:43
int a=2000;
int *b ;
可以放在main函数外面
这让我忍不住想要问为什么额?。。。。。。
人造人 发表于 2017-4-30 11:43
int a=2000;
int *b ;
可以放在main函数外面
是c语言的潜规则,还是本来说明了这样的语法格式? 632076202 发表于 2017-4-30 12:06
这让我忍不住想要问为什么额?。。。。。。
你告诉我,
这叫什么
int a=2000;
int *b ;
这又叫什么?
b = &a; 人造人 发表于 2017-4-30 12:08
你告诉我,
这叫什么
int a=2000;
int *b;是声明一个指针变量b,
b=&a;是取变量a的地址放到b之中啊,
不是这样么? 632076202 发表于 2017-4-30 15:15
int *b;是声明一个指针变量b,
b=&a;是取变量a的地址放到b之中啊,
不是这样么?
你把 b = &a;
放到函数外面,打算让 b = &a; 什么时候执行?
int *b; 放到函数外面,声明并定义了一个全局变量
int *b = NULL; 放到函数外面,声明并定义并初始化了一个全局变量
b = &a; 不能放到函数外面,这是一条赋值语句,需要放在函数内部执行 人造人 发表于 2017-4-30 16:15
你把 b = &a;
放到函数外面,打算让 b = &a; 什么时候执行?
噢噢,明白了,非常感谢您的回答,谢谢您,为我解答了很多疑惑
页:
[1]