C语言 指针概念 梳理举例

本文深入解析C语言中的指针与数组概念,包括普通指针、指针数组、行指针、结构体指针及函数指针的使用方法。通过实例说明了如何运用这些特性进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int a;
int *pa;
int *ppa[4]; 普通指针数组


int b[3];
int *pb=b; <==> int *pb=&b[0];
int *ppb[4]={pb,&b[0],pb++,&b[1]}; 数组指针数组

int c[2][3];
int *pc1=c; <==>int *pc1=&c[0][0]; //指针
int (*pc2)[3]=c; //行指针
行指针降为普通指针
*pc2+i //第0行第i个元素的地址 
*(pc2+1)+i<==>  *pc2[1]+i //第1行第i个元素的地址

int *ppb[4]={pc1,&c[0][0],pc++,&c[0][1]}; 数组指针数组
 ppb[0] 表示数组第一个元素既 pc1 // *ppb[0] =c[0][0] 
int (*ppc2[4])[3]={c,pc2,c++,pc2++}; 行指针数组

int fun(int a)
int *fun(int a)  //指针函数
int (*pfun)(int a)=fun //函数指针
int (*ppfun[4])(int a)={pfun,fun}  //函数指针数组
ppfun[0]=pfun;


struct stu{
}s1,s2;

struct stu *p  //结构体指针
p=&s1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值