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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Makeit 中级黑马   /  2015-11-11 00:17  /  1014 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一,含义        两层含义: 1,变量  (保存地址,占有内存空间)
                                     2,数据类型  (里面存储的类型是指针)
二,作用        存储地址,通过地址 直接对该地址的内存空间中的数据进行操作
三,怎么用      定义   类型  *指针名; int *p;
                    赋值   指针名=地址;p=&a;
四,什么时候用    需要存储地址, 以便于直接操作地址及地址对应的内存数据
五,特点          1,地址   指针是变量,分配后占有固定的内存空间,所以自身的地址不变,但其所存储的地址可以变化
                     2,&p 指针自己的地址   p指针存的的地址  *p指针存的的地址的内存空间
                     3,指针不赋值为野指针,不知指向何方
                     4,优先级在指针中的应用   int  (*p)[3];(*先修饰p,表示p是一个指针,指向数组)        int  *p[3] ; (p和[3]先结合,*修饰整个数组,那么整个数组都是指针,这是在定义一个数组).  
                      5,和之前变量的区别    函数调用时,变量传递的是数据  操作是自己取过来的数据,不是原数据,指针直接操作原数据
                      6,指针类型必须与所指变量类型一致;
                      7,64位编译器下,指针占8字节      32位是4个    16位是2个
六     今天编的代码
  • //指针练习,用指针把a的值变为100
  • #include <stdio.h>
  • void change(int *p);
  • int main()
  • {
  •     int a=0;
  •     int *b=&a;
  •     change(b);
  •     printf("%d\n",a);
  •     return 0;
  • }
  • void change(int *p)
  • {
  •     *p=100;
  • }


0 个回复

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