august 发表于 2007-4-3 17:35:03

关于指针的

#include<stdio.h>
int find_larg(int *);
void main()
{
    int arr1;
    int i,larg_num;
    printf("\n请输入5个整数:\n");
    for(i=0;i<=4;i++)
    {
      scanf("%d",&arr1);
    }
    larg_num=find_larg(arr1);
    printf("\n最大的数是:%d\n",larg_num);
}
int find_larg(int *ptr)
{
    int larg=*ptr;
    int i;
    ptr++;
    for(i=1;i<=4;i++)
    {
      if(larg<*ptr)
      {
            larg=*ptr;
      }
      ptr++;
    }
    return larg;
}

我想问的是,在下面的自定义函数里面并没有像这样赋值 ptr=arr1,那到底指针*ptr是怎么跟数组构成了联系呢?

Miliardo 发表于 2007-4-3 17:57:06

汗……我猛烈汗……

   larg_num=find_larg(arr1);
请注意find_larg的原型:
int find_larg(int *ptr);
因而,你上面那句把arr1传入了find_larg,在find_larg中作为第一个参数,按照原型的声明这个参数名称就是ptr。
页: [1]
查看完整版本: 关于指针的