1.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5],i;
printf("Input five numbers:");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for( i=0; i<5; i++)
{
printf("%4d",a[i]);
}
//printf("\n");
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5],*p;
printf("Input five numbers:");
for( p=a;p<a+5;p++ )
{
scanf("%d",p );
}
for( p=a;p<a+5;p++ )//p加上了1*sizeof(int),取决于p的基类型
{
printf("%4d",*p);
}
//printf("\n");
return 0;
}
2.2 把p当a
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5],*p = NULL,i;
printf("Input five numbers:");
p = a;
for( i=0;i<5;i++ )
{
scanf("%d",&p[i] );
}
for( i=0;i<5;i++ )
{
printf("%4d",p[i]);
}
//printf("\n");
return 0;
}
3.
函数里用数组
void InputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
void OutputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++ )
{
printf("%4d",a[i]);
}
}
在函数里用指针
void InputArray(int *pa,int n)
{
int i;
for( i=0;i<n;i++,pa++ )
{
scanf("%d",pa);
}
}
void OutputArray(int *pa,int n)
{
int i;
for( i=0;i<n;i++,pa++ )
{
printf("%4d",*pa);
}
}
完整使用(1)
#include <stdio.h>
#include <stdlib.h>
void InputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
void OutputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++ )
{
printf("%4d",a[i]);
}
}
int main()
{
int a[5];
printf("Input five numbers:");
InputArray(a,5);
OutputArray(a,5);
return 0;
}
(2)
#include <stdio.h>
#include <stdlib.h>
void InputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
void OutputArray(int a[],int n)
{
int i;
for( i=0;i<n;i++ )
{
printf("%4d",a[i]);
}
}
int main()
{
int a[5];
int *p=a;
printf("Input five numbers:");
InputArray(p,5);
OutputArray(p,5);
return 0;
}
本文详细讲解了C/C++中数组和指针的使用,包括基本的输入输出操作,以及在函数中的指针传递和数组操作。通过实例展示了如何在`main()`函数中直接使用数组和通过指针间接操作数组。同时介绍了将数组作为函数参数的两种方式:数组名和指针。
2009

被折叠的 条评论
为什么被折叠?



