计算机二级C语言编程设计

#include <stdio.h>
int k=7,m=5;
void f(int **s)
{ int *t=&k;
s=&t; *s=&m;
printf( k, *t, **s);
}
main()
{ int i=3,*p=&i, **r = &p;
f(r);
printf( i, *p, **r);
把我看麻了 有没有什么办法区分一下这些指针?
}
(百分号不能打重复的我把他删了 printf后面)

题主应该是具备一定的指针相关的知识的吧,那我就只提醒一点吧:
指针也是一个变量类型,就像整形变量、字符型变量一样,说明指针变量也占据空间,那么也就是说中指针也有自己的地址,
那么也就是说可以用另一个指针来指向一个指针喽,因为指针也是有地址的啊,那就是存在指向指针的指针,也就类似题目中的 int**

我觉得比较实用的区分方法就是动手自己画画图了
就例如我刚才按照我的理解做的图

img

但是每个人的思维方式不一样,可能按照你自己的理解画出来的图不是这个样子,我在这里只是简单举个例子。
还是需要你自己动手来画的
我学习指针的时候没少画图
希望对你有帮助吧
加油加油
一起努力

int * p =。。。 定义的时候*号只是说明这是个什么类型指针 后面 *p =。。 这里是取地址p指针的值 如果是二级指针 当然这个值也可以是指针

。。。=&p &表示取址 当然p可能本身就是个指针 ,那么取到的就是指针的地址 那就是二级指针 也可以对这个二级指针进行操作

贴代码点</> ,然后将代码 ctrl +c ,ctrl + v 。

img