【C语言】指针入门

指针是什么

内存-->内存的单元(1byte)-->编号-->地址-->指针

所以指针就是一个地址而已

口头上说的指针一般指:指针变量

指针变量就是一个变量而已,就是一块内存空间,指针变量用来存放地址

指针变量大小——4/8

指针类型的意义

1.+1/-1的操作,跳过几个字节

2.解引用操作的时候的权限

指针的运算

1.+-整数

2.指针-指针

3.指针的关系运算

指针数组

指针数组:本质上就是数组,数组中存放的是指针(地址)

int* pa;

int* pb;

int* pc;

int* arr[3]={pa,pb,pc};

数组名是什么

数组名:

1.数组名在大部分情况下表示:数组首元素的地址

但是又2个例外,下面两个数组名表示整个数组

a)sizeof(数组名)

b) &数组名

2. &数组名 取出的是数组的地址

int arr[10]={1,2,3};

parr = &arr;

数组指针

int(*parr)[10] = &arr;

int a = 0;

pa是整型指针

int* pa = &a;

char ch = 'w';

 pc字符指针

char* pc = &ch;

数组指针

数组指针:指向数组的指针就是数组指针 

int arr[10]={1,2,3};

int(*parr)[10] = &arr;

函数指针

函数指针也是有地址的

int Add(int x, int y)

{

        return x+y;

}

int main()

{

        //printf("%p\n", &Add);

        int (*pf)(int ,int) = &Add;

        //函数的地址存放到函数指针变量中

        int sum = (*pf)(2, 3);

        int sum = pf(2, 3);

        int sum = Add(2, 3);

        printf("%d\n),sum);

        return 0;

}

函数指针数组

函数指针数组:存放函数指针的数组

int(*pfArr[4])(int, int);

pfArr数组的每个元素的类型是:int(*)(int, int);

函数指针实现回调函数

回调函数

通过函数指针调用的函数就是回调函数

qsort:使用冒泡排序的思想,模拟实现了一下qsort

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值