1.理解 一级指针 二级指针 指针和数组 指针数组

一级指针:
指针就是地址,用这个地址可以找到它所在的数据
指针就是地址, 那么在使用的时候, 常常会简单的说,指针变量为指针
int *p1;// 申请了一个变量, 即在内存中开辟了一块内存, 存储数据

当一个函数的参数部分为一级指针的时候,函数能接收什么参数?

#include<stdio.h>
void test(int *p) 
{} 
int main()
{
   int num;
   int *p2 = &num;
   int arr[10];
   test(&num);//整型变量的地址
   test(p2);//一级指针
   test(arr);//数组首元素的地址(整形地址)
}

二级指针
二级指针就是指向一级指针的指针(n 级指针就是 指向 n-1 级指针的 指针)
指针的本质就是地址, 那么几级指针也只是一个地址, 唯一不同的就是寻址的结果(*p)
int n = 10;
int *p = &n; p就是整型变量n地址
int **pp= &p pp就是一级指针p的地址

当函数的参数为二级指针的时候,可以接收什么参数?

#include<stdio.h>
int main()
 {    
     char c = 'b';  
     char*pc = &c;  
     char**ppc = &pc;
     char* arr[10];  
      test(&pc); //字符的一级指针变量取地址
      test(ppc); //字符的二级指针变量
      test(arr); //指针数组(数组的每个元素都是char *)
      return 0; 
} 

指针和数组
指针与数组的关系

  当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。
如:   char str[20], *ptr; 
  ptr=str;
ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,
也是数组第一个元素的地址。此时可以认为指针ptr就是数组str(反之不成立)

指针数组
定义:数组元素全为指针的数组。

int *arr[5];//指针数组是一个数组

对于这个数组来说,[]比*的优先级高,所以arr先和 [] 结合,结合起来是一个数组,
数组有5个元素,把元素个数去掉之后剩下int * 就是类型了,int * 是每个元素的类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值