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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  • 指针
    • 一维指针*p
    • 二维指针**p
  • 指针数组:存放指针的数组,是一个数组
    • 使用方法 int*p1[3]={&a,&b,&c};
    • 指针数组名代表首元素地址: p1=&pa[0]=&&a;
  • 数组的指针
    • int (*p)[4]=arr  //arr是一个地址
  • 用指针来访问一维数组
    • int arr[5]={32,234,54,6,642};
    • int *p2=arr=&arr[0];
  • 用指针来访问二维数组
    • int arr3[j]
    • arr[0],arr[0]+1,arr[0]2…  为列指针
    • arr[0],arr[1],arr[2]…     为行指针
    • a+i的地址等同于a,*(a+i)=&a[0];
    • arr3为数组的首元素的首地址
         arr3==&arr[0]==&arr[0][0]==&arr3==arr[0]==arr[0][0]
  • 二维数组指针变量说明的一般形式:把二位数组变成用指针来访问
    • int arr4[j];
    • int(*p4)[j]=arr4  //定义一个数组指针,指向含j个元素的一维数组
    • arr4=&arr4[0]=&arr4[0][0]=arr[0]
    • (*(p4+i)+j)获取二位数组的每个元素
  • 字符串指针
    • char *str = “hallo world”;   //str是一个指针
    • sizeof(str)==8;
    • strlen(str)==“字符长度”==11;
    • 第i个字符的值为*(str+i);
    • 字符串指针的知识点
      • char *str;         //野指针
      • char *str=NULL;    //这个指针不可用
      • str=malloc(100)    //给指针分配100个字节
      • char ch3[100]; char *str=ch3;   //也可以用
  • 字符数组
    • char[10]=“hahaha”;默认最后一个/0
    • char arr5[4][6]={“halo”,”editor”,”make”};
    • 最后一个默认/0  
  • 指针函数:参数为指针的函数
    • int *p6=max(&a,&b);   //搞不懂
  • 函数指针
    • int(*p)(int a,int b);    //初始化  //返回值是一个指针
    • p=sum;      ⬅️int sum(x,y);       //p为指向函数的首地址
    • int max=p(a,5);                   //a可以是一个地址
    • int getMax(int *p,int len){};     //p传递一个数组名


















0 个回复

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