黑马程序员技术交流社区

标题: 指针的总结(具体5类)[后半部分] [打印本页]

作者: 陈旧    时间: 2016-1-22 14:30
标题: 指针的总结(具体5类)[后半部分]
    指针与字符串   这个就更简单了,学的最轻松的就是这一部分
        定义并赋值:
            字符串:char *p ="nihao";    指针定义时是常量  不能修改  而字符串定义时可修改
            字符串数组:char *ps[3]={"nihao","heima","woaini"};  这里就成数组啦

        如何操作呢:
                1.向高位移动(+): p+1,p++;
                2.向低位移动(-): p-1,p--;
            2.指针所指空间的操作    这里和数组使用很像
                1.取值也是一样:
                    取当前位的值: *p或p[0];
                    取下一位的值: *(p+1);或p[1](等效于:p[当前角标+1]);
                    取上一位的值: *(p-1);或p[-1](等效于:p[当前角标+1]);

                2.赋值: !!!注意:常量不能赋值.(*这是说指针指向的空间,指针本身是可以赋值的);
                    如:char *p="itheima";
                        p[0]='m'//错误; 不能对指针所指空间的常量进行改变.
                        p="itcast";//正确. 指针本身并不是常量.里面存的地址可以变化.

   指针与函数  这一块我学习起来是最蒙的  因为前面函数部分我掌握的不牢固
    函数的指针定义:     这个一定要记清楚了
        类型 (*指针名)(参数类型);
        如:      int (*p)(int);
        表示如下函数的指针类型:
        int add(int a){
            return 0;     }

    赋值:
        指针名=函数名;
        如:p=add;
    操作:
        1.调用函数:
            指针名(实参);
            如:p(5);
       这就是指针最最基本,方便的时候拿出来看看   想要深入的去了解一些,还是要面对电脑去敲代码去实践
          先到这里吧,希望各位都 月薪20k哦   努力把少年们




   





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