(C语言)指针详解1

1.字符指针

字符串常量表达式的值是字符串首字符'a'的地址,由于字符串常量不能被修改

需要在前面加上'const'关键字是其不能被修改

2.数组指针-指向数组的指针-存放的是数组的地址

int arr[10]; &arr拿到的是数组的首地址;

数组名除了在‘&数组名’和‘sizeof数组名’是代表整个数组地址,其他情况都是代

表着首元素地址

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

用作二维数组的形参;接收二维数组的首元素地址;

3.指针数组

指针数组是数组,数组里面存放的都是指针;可以用数组指针来模拟一个二维

数组

4.数组参数和指针参数

4.1一维数组传参,传递的是第一个元素的地址

4.2二维数组传参,传递的是第一行的地址

4.3数组在传参的时候,形式可以写成数组,也可以写成指针

5.函数指针

函数指针

int (*p) (int int);

调用函数时(*p)(int int);(*p)是为了习惯便于理解,实际也可

以写成 p(int,int)

函数名就是函数的地址;

看以上代码,可以看到有个 sig,太过于复杂只能从他入手,由于sig

跟括号在一起,可以知道这是一个函数声明,sig有两个参数,一个

参数类型为int,一个参数类型为函数指针类型,函数指针指向的函

数类型参数为int,返回类型为void,sig函数的参数拿走后剩下的是返

回类型,可以知道返回类型也为函数指针,当然,这个代码太过于复

杂,可以使用简化代码

这个代码跟上面代码是同一效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值