不是很懂指针的方法,求指教!谢谢

[复制链接]
查看11 | 回复9 | 2021-1-27 06:48:55 | 显示全部楼层 |阅读模式
使用间接访问的方式(指针),输入10个学生的成绩,求总分、平均分、最高分、最低分。


分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
指針就是指向另一變數的記憶體內容
例如:
intstudent[10]={0,0,0,0,0,0,0,0,0,0};
int*ptr=student;//指針指向第一個記憶體內容
ptr[0]=100;
ptr[1]=200;
ptr[2]=300;
printf("%d\t%d\t%d",ptr[0],ptr[1],ptr[2]);

就可以自由運用指針了
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
申请一个数组,然后用指针来访问数组即可。
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
和普通访问变量差不多啊。只是需要注意适用形势而已。参考别人的写法练习就OK
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
引用3楼FightForProgrammer的回复:和普通访问变量差不多啊。只是需要注意适用形势而已。参考别人的写法练习就OK可以举个例子吗?谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
引用2楼turingo的回复:申请一个数组,然后用指针来访问数组即可。可以举个例子吗?谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
intstudent[10]={0};
int*ptr=student;//指針指向第一个学生
inti;
for(i=0;i>*ptr;//读内容到指针,也相应保存到数组中
ptr++;//指针指向下一个学生
}
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
#include
voidmain(){
int*p,i,max=0,min=0,sum=0;
floatave=0;
intstu[10]={6,4,2,9,7,8,1,0,5,3};
p=stu;
max=*p;
min=*p;
for(i=0;imax)
max=*p;
if(*p引用5楼HungYingBin的回复:Quote: 引用2楼turingo的回复:
申请一个数组,然后用指针来访问数组即可。
可以举个例子吗?谢谢

#include
intmain(void)
{
intstudent[10]={0};//*声明一个student数组存放成绩
int*p=student;//*声明一个int*型的指针变量p,指针变量p指向student的首地址
inti;
intsum=0;//*声明sum变量存放总分
for(i=0;i

回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
引用8楼ruying1389279的回复:Quote: 引用5楼HungYingBin的回复:
Quote: 引用2楼turingo的回复:
申请一个数组,然后用指针来访问数组即可。
可以举个例子吗?谢谢

#include
intmain(void)
{
intstudent[10]={0};//*声明一个student数组存放成绩
int*p=student;//*声明一个int*型的指针变量p,指针变量p指向student的首地址
inti;
intsum=0;//*声明sum变量存放总分
for(i=0;i
谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:48:55 | 显示全部楼层
#include
usingnamespacestd;
floatmain()
{
float*p=newfloat[10];
for(inti=0;i>p;
floatsum=0,max=p[0],min=p[0],average;
for(inti=0;ip)
min=p;
sum+=p;
}
average=sum/10;
cout<<"最高分:"<<max
<<",最低分:"<<min
<<",平均分:"<<average
<<",总分:"<<sum<<endl;
delete[]p;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行