#include<stdio.h>
void main()
{
//定义数组:类型 数组名[长度] "连续"且同类型的存储
int buf[10]={1,2,3,4,5,6,7,8,9,10};
//打印数组元素:下标法
// printf("%d,%x\n",buf[0],&buf);
//引用元素内容:指针法
// printf("%d\n",*(buf+1));
//指针变量:
int* pa=buf;
//通过变量引用元素内容
printf("%x %x\n",buf,pa);
//第三个元素
printf("%d %d %d %d\n",buf[2],*(buf+2),*(pa+2),pa[2]);
//通过pa倒序打印,求数组元素的和
/* int i,sum=0;
for(i=9;i>=0;i--)
{
printf("%d ",pa[i]);
sum+=pa[i];
}
printf("\n%d\n",sum);
//二分查找法
int* left=buf,*right=buf+9,*mid=NULL;
int key=6;
while(left<=right)
{
mid=left+(right-left)/2;
if(key>*mid)
left=mid+1;
else if(key==*mid)
{
printf("查找成功:%d\n",*mid);
break;
}
else
right=mid-1;
}
*/
//排序
int temp;
int* pb=pa;
int i=0;
while(pa-buf<9)
{
while(pb-buf<9-i)
{
if(*pb>*(pb+1))
{
temp=*pb;
*pb=*(pb+1);
*(pb+1)=temp;
}
pb++;
}
i++;
pa++;
pb=buf;
}
for(i=0;i<10;i++)
printf("%d ",buf[i]);
}
指针数组(例题详解)
猜你喜欢
转载自blog.csdn.net/cs13797778767/article/details/81136551
今日推荐
周排行