C语言(指针,数组)(附加)

本文详细介绍了C语言中一维和二维数组的使用方法,包括数组的下标访问、指针访问以及通过指针变量操作数组。此外,还探讨了如何利用指针进行数组的遍历和操作。

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

#include<stdio.h>


void main()
{
//一维数组:
int buf[10]={1,2,3,4,5,6,7,8,9,10};
//下标法
printf("%d %d\n",buf[0],buf[9]);
//指针法:
printf("%d %d\n",*(buf+0),*(buf+9));


//指针变量:存储指针的变量
int* pbuf=buf;
printf("%d %d %d %d\n",*(pbuf+0),*(pbuf+4),pbuf[0],pbuf[4]);


//二维数组:
int score[4][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20}};
//引用:下标法,指针法
printf("%d\n",score[2][1]);
//行与列指针:
printf("%x %x %x %x\n",&score[0][0],&score[1][0],&score[2][0],&score[3][0]);
//行+n   指向第n行
printf("%x %x  %x  %x\n",score+0,score+1,score+2,score+3);
//列:  列+1指向下一列
printf("%x %x %x %x\n",*(score+0)+0,score[0]+1,score[0]+2,*(score+0)+3);
//打印元素:确定此元素的地址
printf("%d %d %d\n",score[2][2],(*(score+2))[2],*(*(score+2)+2));
//指针变量:
int* pscore=score;  
printf("%d",*(pscore+1));//说明:pscore+1指向下个元素


//二维数组指针:
int (*mp)[5]=score;
printf("%x %x %x %x\n",mp,mp+1,mp+2,mp+3); //行指针
printf("%x %x %x %x\n",*(mp+0)+0,mp[0]+1,*mp+2,mp[0]+3); //第一行列指针
//第3行  通过mp指针
int i=0;
for(i=0;i<5;i++)

printf("%d %d\n",mp[2][i],*(*(mp+2)+i));

//第二列

for(i=0;i<4;i++)
printf("%d %d\n",mp[i][1],*(*(mp+i)+1));


for(i=0;i<20;i++)
{
// printf("%d ",mp[i/5][i%5]);
printf("%d %d\n",*(pscore+i),pscore[i]);
}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值