关于指针变量赋值(请高手指点)
指针变量是不能被赋常值的
但用scanf函数就可以赋值,没有出现错误,这是为什么呢。
int main(void)
{
int *pt;
scanf ("%d",pt);
printf("%d\n", pt);
getch();
return 0;
}
指针变量是不能被赋常值的
但用scanf函数就可以赋值,没有出现错误,这是为什么呢。
int main(void)
{
int *pt;
scanf ("%d",pt);
printf("%d\n", pt);
getch();
return 0;
}
有错吧,这样才没错
#include<stdio.h>
int main()
{
int *pt,a;
pt=&a;
scanf("%d",pt);
printf("%d\n",*pt);
return 0;
}
给指针赋值
scanf ("%p",pt);
这样做有什么意义吗
我觉得是没意义的,系统为什么允许这样的赋值呢?
请指教
不用在意不规则的程序,
这里所说的%p 只是c里定义的一种格式,实际中指针的存在是用来访问其指定的数据空间
当你定义了一个变量时,内存分配空间,这时用指针操作才有意义