指针变量是不能被赋常值的但用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里定义的一种格式,实际中指针的存在是用来访问其指定的数据空间当你定义了一个变量时,内存分配空间,这时用指针操作才有意义