指针数组

本文介绍了一个使用指针数组来操作结构体数组的例子,通过指针实现了结构体内容的排序,具体展示了如何利用指针技巧进行数据的输入、排序及输出。

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

//指针数组的例子
// 结构体内容排序
#include<stdio.h>
#define N 4
struct worker
{
    char name[10];
    int num;
}real[N];
void main()
{
struct worker *p[N]={&real[0],&real[1],&real[2],&real[3]};
/*struct worker *p[N];
for(int i=0;i<N;i++)
    p[i]=&real[i];*/
struct worker temp;

for(int i=0;i<N;i++)
    scanf("%d,%s",&p[i]->num,p[i]->name);//输入顺序不能交换,否则都当成字符读入num

for(i=0;i<N-1;i++)
  for(int j=0;j<N-1-i;j++)
  {
      if((p[j]->num)>(p[j+1]->num))
        temp=*p[j]; //注意*号前面要留有空格
       *p[j]=*p[j+1];
       *p[j+1]=temp;
  }


  
for(i=0;i<N;i++)
    printf("%d:%s/n",p[i]->num,p[i]->name);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值