1.什么是指针?
在c 语言中每一个变量或者函数都有自己的内存地址,如果想获取变量可以通过变量名直接获取,想要调用某一个函数也可以直接调用函数名,因为变量名和函数名就代表了他们各自的内存地址,但有些情况或许拿不到变量名 可以再重新定义一个变量P来存储变量"testNumber"的内存地址,根据存储的内存地址就可以找"testNumber"所存储的值,那么这个P就成为成为指针.
2.指针与变量的区别
指针存储另一个变量的内存地址
变量储存自己的二进制数据
(解释并不严谨,但说出了重点)
3.指针的使用
int testNumber = 20;
int *p = &testNumber;
print("%d",*p);
*p(在指针变量p 前面加一个*代表从指针存贮的内存空间中取出值)
4.指针变量占据内存
注意: 虽然各种类型指针都占有相同字节,但是一定要用同种类型的指针去存储同种类型的变量,否则极有可能造成取值错误的情况
5.例子🌰
用一个函数返回多个值 这样函数就可以有两个返回值
在变量前面加上&代表取出这个变量的内存地址
- (void)viewDidLoad {
[super viewDidLoad];
int a = 10;
int b = 20;
int cha = 0;
int he = sum(a, b, &cha);
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",cha);
printf("%d\n",he);
}
int sum(int a,int b,int *cha)
{
*cha = b - a;
return a + b;
}
打印结果:
10
20
10
30
参考文档:
http://www.cnblogs.com/mjios/archive/2013/03/16/2963645.html