A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花——九 中级黑马   /  2015-10-19 23:22  /  736 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



/*
一,什么是指针型函数?
是函数. 这个函数的返回值类型是指针;
定义:类型 * 函数名(参数){return 指针类型;}
如:int  *add(int *a){return &a;}.
表示定义一个返回值是int指针类型的add函数.

*/

int *add(int *p){
   
    return p;
}






















/*指针与字符串*/

#include <stdio.h>

int main(){
   
    //创建字符串的三种方式.
    //用字符数组创建  变量
    char arr[] = "heima";
     char arr1[] = "heima";
   // char arr1[] = {'h','e','i','m','a','\0'};
   
    //用指针创建 是常量
    char *p = "heima";
    char *p1 = "heima";
    printf("arr=%p---arr1=%p----p=%p----p1=%p\n",arr,arr1,p,p1);
   
    /*
     
     常量区的常量与变量区别
     1.常量区的常量只有一份.也就是重用的时候,用的都是同一个,地址一样.
     2.而变量同一个字符串,不同的变量地址不同.
     3.指针定义一个字符串,指针存的实际是在常量区的那个字符串的首字符的地址.

     */
   
   // 1.指针定义的字符串是常量,不能被改变.而字符数组定义的是变量.可以被改变.
    p[0]='a';//错误,常量不能改变.
    //arr[0]='a';
    printf("arr=%s---p=%s\n",arr,p);
   
    /*
     
     适用场景:
    1.数组方式字符串:
        用于这个字符串需要被改变的时候,或只需要用一次或用的次数很少.
    2.指针方式字符串:
        用于这个字符串不需要被改变,并且需要反复使用.
     
     */
   
   
    /*
     三,怎么表示一个字符串数组?
     char arrs[2][8] = {”itcast“, ”heima“};
     
     四.怎么用指针表示一个字符串数组?
     char *arrs[2] = {”itcast", ”heima”};

     */
   
    return 0;
   
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马