C语言指针变量习题,问题如图.希望可以每一项都解释一下哪里不对

    指针本质就是存储的一个变量所以指针可以指向某个变量在内存中存储的单元格嘛。变量去访问单元格最后也是编译器通过变量名和地址一一对应去查找的而指针里媔直接存储的就是地址,所以直接可以访问地址所对应的单元格
不知道楼主说的是说明情况。所以几种可能的都说一下:
测试代码
#include ""
#include ""
main()
{
int a=1;
int *p=&a;
int *q,*r;
q=&a;
*r=&a;
printf("p=%d,q=%d,r=%d",p,q,r);
getch();
}
int *p=&a ; 这是佷标准的把a的地址个p指针变量。
int *q;q=&a;这也是很标准的定义一个指针变量,然后将a的地址赋值给她
int *r; *r=&a; 首先r是个指针变量,但是r指向内存中那個单元格呢r没有赋初值就开始用了。这是很严重的r是个游离态的指针。 *r表示取出r对应的那个地址中的值r都没有指向一个具体的单元格,如何去取值啊

北京大学 C语言学习大全 第PAGE1049页 C语言程序设计 教案 HYPERLINK \l "_C语言概述" c语言概述 HYPERLINK \l "_程序的灵魂—算法" 程序的灵魂—算法 HYPERLINK \l "_数据类型、运算符与表达式" 数据类型、运算符与表达式 HYPERLINK \l "_最简单的C程序設计—顺序程序设计" 最简单的C程序设计—顺序程序设计

我要回帖

 

随机推荐