c语言指针的理解
来源:互联网 发布:ubuntu mysql安装 编辑:程序博客网 时间:2024/05/09 02:59
本人对指针的一点理解,欢迎批评指正。
指针,这个名字起得很形象,它就真的像表盘上的指针,指向一个具体的位置。
int add(int a, int b)
{
return a+b;
}
这个函数输入参数a和b,可以返回a与b的和;你有没有想过,程序写成这样可以吗?int add(int a,int b,int c)
{
c=a+b;
}
事实上,这样在主函数打印c的值并不能得到a与b的和。因为在这个函数中,a,b,c都是临时变量
,在执行add()后就被释放了。
那么有没有一种办法解决呢,有 那就是指针。
#include<stdio.h>
void add(int a,int b,int *c)
{
*c=a+b;
}
int main(void)
{
int a=1,b=2,c;
add(a,b,&c); //注意,传的是c的地址
printf("%d\n",c);
return 0;
}
其实在add()里面c变量还是临时变量,在函数结束后被释放,但是取c的内容可以直接改变主函数中c的值。
(注意:add()里面的c与主函数的c并不是存在一个位置的)
#include<stdio.h>
void add(int a,int b,int *c)
{
*c=a+b;
printf("%ld ",&c);
}
int main(void)
{
int a=1,b=2,c;
add(a,b,&c);
printf("%d %ld\n",c,&c);
return 0;
}
可以这样感受一下看看它们的地址值。
阅读全文
0 0
- 理解c语言的指针
- c语言指针的理解
- 理解C语言指针
- 深入理解C语言指针的奥秘- -- -
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解c语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 深入理解C语言指针的奥秘
- 铺瓷砖
- Flatten Binary Tree to Linked List leetcode java
- 17暑假多校联赛7.5 HDU 6124 Euler theorem
- HDU4763 Theme Section(KMP+扩展KMP)
- About AF_LOCAL in Linux
- c语言指针的理解
- Halcon13的安装和配置
- 企业私服
- 文件下载工具类
- MapReduce处理输出多文件格式(MultipleOutputs)
- JAVA设计模式之单例模式
- HTTPS 初步介绍
- Git Hub上传code
- 【小概念】格拉姆矩阵(gram matrix)