关于指针所存的地址和指针所指向的值
#include<stdio.h> void f(int *p); void g(int k); int main() { int i=6; printf("&i=%p\n",&i);//输出i在内存中存放的地址 f(&i);//传递i的地址,传给f函数中的指针变量*p g(i);//传递i的值,传给k } void f(int *p) { printf(" p=%p\n",p);//p存放的是i的地址 printf("*p=%p\n",*p);//*p指向i的值,所以*p=i=6 *p=16;//*p指针变量指向i,改变的是i的值,所以g函数中i的值已经发生改变 } void g(int k) { printf(" k=%d\n",k); }
本文通过一个简单的C语言程序实例,详细解析了指针变量存储的地址和指针所指向的值的概念。在`main`函数中,变量`i`的地址被传递给`f`函数,`f`函数内部通过指针`p`修改了`i`的值。在`g`函数中,变量`k`接收到`i`的原始值。这展示了指针如何作为参数传递并影响原变量的值。
2660

被折叠的 条评论
为什么被折叠?



