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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© YangperlovE 中级黑马   /  2015-10-12 22:33  /  724 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


    //指针数组---数组每个元素都是指针,共同构成一个数组
    1.  一个指针变量p 指向数组中的一个元素  p+1 相当于 指向该元素的下一个元素. p-1 相当于 指向该元素的上一个元素
   
    2.  printf(" %ld  ",p2>p1);表示的含义是 两个指针 指向元素 在数组中 是高位还是地位
   
    3.  p2 - p1 相当于 其指向元素之间下标的差 .  也就是相当于 这两个指针指向的元素之间相差几个元素 .
   
    4.  char *p2 ="dadasdasdasd";定义了一个字符串指针 保存的是 "dadasdasdasd" 的  首地址
   
    5.  通过指针变量在内存中保存字符串 不能再通过指针去修改对应字符串的值  因为 字符串放在只读区.(字符串数组可以修改)
   
    6.  单独定一个指针变量 不能直接接受从键盘输入的字符串
   
    7.  int * names[5] = {&a,&b,&c,&d,&e};
        定义了 一个  一维的 指针数组  数组名 names 长度 5  数组的第一个元素存的是 变量a的地址
        **names-->a的值,通过数组名 来获取对应元素中的数据 -- (这个数据是地址  ) 再通过这个数据 访问对应内存单元中的数据
   
    8.  (*--->从地址找到内存空间存储的数据    &--->找到到内存空间数据的地址)   * 和 & 是相反的两个操作
   
    9.  数组 Books中存放的是 这些字符串的 首地址  char * books[5] = {"feme","boook2","boooooook3","bok4","bk5"};
   
    10. const int *p;将指针变量p1 用const关键修饰 不能通过指针变量修改其指向变量的值 ,但是可以改变指针指向(即指向的数据)
        int * const p; p可以改变值,不能改变指向.         const int * const p; 指向和值都不能改变
   
    11. calloc 在(堆区)中分配一片连续的内存空间  如果在堆区中找到这么连续的一片内存空间 则返回 这边内存空间的首地址 否则返回NULL...想在堆区中开辟一片连续内存空间  用来存放 50个整数    int *p =  (int *)  calloc(50, sizeof(int));
    //函数指针   函数也是有地址的 这个地址存放在函数名字里面 . 用一个 指针 把函数的地址存起来   这种指针就叫做 函数指针
               //数组指针同理
   
    //定义函数指针
      1.拷贝 对应函数 { 前面的东西  --函数头部
      2.放在指定的位置
      3.修改函数的名字   --- > (*变量名 )
         
         
    12. 结构体变量指针 作为函数的实际参数  地址传递


















}








3 个回复

倒序浏览
指针难吗?
回复 使用道具 举报
收藏下,还没看到呢
回复 使用道具 举报

指针是c语言的灵魂,也是c语言比别的语言厉害的地方,这个东西很深,看你想学到什么程度
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马