Micokery九九 2022-05-27 19:16 采纳率: 91.7%
浏览 28
已结题

指针变量所起的作用分析

请问下面这段代码中指针变量c 指针变量b 两次a=c,main函数中a=b是什么意思和起什么作用呢

#include<iosteram>
using namespace std;
void change(int *&array)
{
int 

}
int main(){
    int i,j,k;
    int (*array)[3]=new int[3][3];
    array[3][3]={{1,2,3},{4,5,6}{,8,9}};

#include<iostream>
using namespace std;
void change(int *&a)
{
  int b[3][3],i,j;
  int *c=a;
  for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
 {
  b[i][j]=*a;
  a++;
 }
  }
 a=c;
for(i=0;i<3;i++)
{
    for(j=0;j<3;j++)
 {
        *a=b[j][i];
        a++; 
    }
 }
a=c;
}
void print(int *a)
{
  for(int i=0;i<9;i++)
  {
   cout<<*a<<"  ";
   a++;
   if((i+1)%3==0)
   cout<<endl;
  }
}
int main(void)
{
  int i,j;
  int *a,*b;
  a=(int *)new int[3][3];
  b=a;
  cout<<"请依次输入距阵中的元素:"<<endl;
 for(i=0;i<9;i++)
  {
     cin>>*a;
     a++;
 }
  a=b;
cout<<"此距阵中的元素为:"<<endl;
print(a);
change(a);
cout<<"经过转置后此距阵为:"<<endl;
print(a);
}


  • 写回答

2条回答 默认 最新

  • 关注

    a初始是指向数组的首地址
    c=a是让c也指向数组的首地址
    在循环中不断a++让a移动指向下一个元素的地址,在循环之后a指向了数组的结尾
    a=c是再次让a重新指向数组的首地址,好方便下一次循环

    a=b也是一样的作用

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 5月27日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了