黑马程序员技术交流社区

标题: ios基础第7天 [打印本页]

作者: sunyongnan    时间: 2015-8-11 22:33
标题: ios基础第7天

一、指针与二位数组

1、什么是二维指针的数组?

是一个数组,里面的每一个子数组存的元素的类型是指针。

如:

    //定义int类型变量

    int a=0,b=1,c=2,d=3,e=4,f=5;

    //获取所有变量的指针

    int *pa=&a;

    int *pb=&b;

    int *pc=&c;

    int *pd=&d;

    int *pe=&e;

    int *pf=&f;

    //定义这个二维指针数组

    int *p[2][3]={{pa,pb,pc},{pd,pe,pf}};

2、什么是二维数组的指针?

是一个指针,只是指针类型是二维数组。

如:

    //这是一个二维数组

    int arr[2][3]={{1,2,3},{4,5,6}};

    //这是一个二维数组的指针

    int (*p)[2][3]=&arr;

二、指针与函数?

1、什么是指针型函数?

是函数,这个函数的返回值类型是指针。

定义:类型 *函数名(参数){return指针类型;}

如:*add(int *a){return &a};  //表示定义一个返回值是int指针类型的add函数  

2、什么时函数指针?

是指针,函数也会在内存中开辟一块空间,函数指针即这块空间的地址。

定义:函数返回值类型 (*指针名)(参数类型);

赋值:指针名=函数名;

使用:指针名(实参);

如:p(3);等效于add(3);

3、函数指针有什么特点?

     1)函数指针做加减运算可以,但没有意义,不建议。

     2)函数指针当做参数传递,因为其是一个指针类型

     3)不管什么类型的指针,只要是指针,其里面存的就是地址。

三、指针与字符串

1、怎么表示一个字符串?

char arr[]="heima";

2、怎么用指针表示一个字符串?

char *p="heima";

3、怎么表示一个字符串数组?

char arrs[2][8]={"itcast","heima"};

4、怎么用指针表示一个字符串数组?

char *arrs[2]={"itcast","heima"};

5、字符串有什么特点?

     1)指针定义的字符串是常量,不能被改变,而字符数组定义的是变量,可以被改变。

     2)指针定义一个字符串,指针存的实际是常量区的那个字符串的首字符的地址。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2