指针-day12(2)

1,指针:
    硬件 
指针:
   指针+ 基本数据类型 
   指针+ 数组 
   指针+ 函数 
   指针+ 指针 

2,

指针变量
语法:
   基类型* 指针变量名;
   
   基类型 --- 数据类型
                   基本数据类型 
                   数组类型 
                   基类型 表示 指针变量 指向的目标的 数据类型
   *  --- 表示此时定义的变量 是一个指针类型的变量 
        
   指针变量名 --- 标识符命名规则 + 见名知意         
  
  int * p; 表示定义了一个指针类型的变量   
    
  int a = 10;
  float b = 1.23;
  int *p = &a; 指针变量 p 指向 了 int型变量a    

  p变量的数据类型 int * 指针类型 

3,

&b --地址值 ---类型? 
      float 
      b有一块内存空间 -- 放的是float类型的数据 
      &b ---得到了一块 存放着 float类型数据的 空间的地址 

      float *p1 = &b;

float b = 10;

&b --- > 地址值的类型 -->float *      
         b的数据类型--决定了这块空间放的的数据类型 
         &b--获得了 这块空间 的地址编号 
         float *  //这种类型的地址数据 
         float *p1 =  &b;

4,

指针变量:
访问变量时:
直接访问 
间接访问 通过地址访问到的 

* 指针运算符
* 单目运算 
 运算数必须是指针类型的值(地址)
 
 *p 过程
 1)首先拿出p指针变量中的值(地址) 到内存中定位 
 2)从定位处开始,偏移出sizeof(基类型)大小的一块空间 
 3)把这块空间当做一个 基类型的 变量来看  

5,

指针的运算:
1. & 
2. * 
3. p+1  指向了下一个一基类型的数据
            跳过了一个基类型 
4. p++ 

6,

指针 + 数组 
一维整型数组 

int a[5]; a首元素的地址 
             a[0]  -- int型 
             &a[0] -- int * 

int *p = &a[0];
         = a;          
       
a[i] <=> *(a+i) //指针运算 

野指针 ---指向不明确 ,随机
NULL 表示 0号地址 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值