您的位置:首页 > 移动开发 > IOS开发

IOS 开发学习三 指针

2015-01-14 22:39 218 查看

一、直接引用

char a ;
a=3;


系统自动将变量a转换为变量的存储地址;

二、间接引用

C语言中还有一种“间接引用”的方式,

char a;
char *b;   //只能指向char类型的变量,这里*只是指b是个指针,没有特殊含义
b=&a;      //让b指向a      也可以char *b=&a;  &取地址运算符。
*b=10;     //找b中地址对应的存储变量,改变a的值;*是取指针变量的操作
printf("%d\n",*b)     //取变量a存储的值,*是取值操作


三、示例:交换变量值

void swap(int* a,int* b){
int temp;
temp=*a;
*a=*b;
*b=temp;

}


四、在同一种编译环境下,一个指针变量占用多少个字节内存空间是固定的

16位编译器 2字节

32位编译器 4字节

64位编译器 8字节

五、指针与函数

1.定义一个返回指针的函数

char * test(){
return "test";
}


2.指向函数的指针

指针指向函数的入口地址。函数的地址就是函数名,类似于数组地址就是数组名。

#include <stdio.h>

int sum(int a,int b){
int c=a+b;
printf("%d+%d=%d\n",a,b,c);
return c;
}

int main(int argc,const char *argv[])
{
//定义了一个指向函数的指针变量p
//返回值为int,接收两个int
int (*p)(int ,int );
p=sum;
(*p)(1,2);//利用p调用函数  或 p(1,2)
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: