求破C语言用指针和函数求转置矩阵
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 06:14:48
求破C语言用指针和函数求转置矩阵
int a[5][5], 可以拆开来写就比较容易理解
int *a[5]; // 宣告了五个int的指针
int a0[5], a1[5], a2[5], a3[5], a4[5]; // 宣告了五个数组, 每数组含5个int
a[0]=&(a0[0]); // 把相对应数组的地址写入a[n]指针
a[1]=&(a1[0]);
a[2]=&(a2[0]);
a[3]=&(a3[0]);
a[4]=&(a4[0]);
然后回到你的问题 *(*(p+j))+i)到底是什么
p是指针, 是int的指针, 指针的意思就是它的内容是个某个内存的地址
p+j, 就是地址的加法运算, 如果p是1000, j是3, 运算的结果就是1000+3*4, 乘4是因为它是int的指针, int是4字节
而*(p+j), 是指调用地址1012的内容, 用另一种常用的方法写你就会明白
*(p+j) 跟 p[j] 是同一个意思
同样*(*(p+j)+i) 跟 p[j][i] 也是同一个意思
再问: 大神
但是我的b[i][j]=*(*(p+j)+i)
就是将矩阵转置放入b数组里有错么为什么编译说错了求指教我用了行指针
再答: p 跟 a不能就这样关联上的
你把p=a;
改成
p[0]=a[0];
p[1]=a[1];
p[2]=a[2];
p[3]=a[3];
p[4]=a[4];
那就可以通过编译了
再问: 好吧对谢以后还请多指教
int *a[5]; // 宣告了五个int的指针
int a0[5], a1[5], a2[5], a3[5], a4[5]; // 宣告了五个数组, 每数组含5个int
a[0]=&(a0[0]); // 把相对应数组的地址写入a[n]指针
a[1]=&(a1[0]);
a[2]=&(a2[0]);
a[3]=&(a3[0]);
a[4]=&(a4[0]);
然后回到你的问题 *(*(p+j))+i)到底是什么
p是指针, 是int的指针, 指针的意思就是它的内容是个某个内存的地址
p+j, 就是地址的加法运算, 如果p是1000, j是3, 运算的结果就是1000+3*4, 乘4是因为它是int的指针, int是4字节
而*(p+j), 是指调用地址1012的内容, 用另一种常用的方法写你就会明白
*(p+j) 跟 p[j] 是同一个意思
同样*(*(p+j)+i) 跟 p[j][i] 也是同一个意思
再问: 大神
但是我的b[i][j]=*(*(p+j)+i)
就是将矩阵转置放入b数组里有错么为什么编译说错了求指教我用了行指针
再答: p 跟 a不能就这样关联上的
你把p=a;
改成
p[0]=a[0];
p[1]=a[1];
p[2]=a[2];
p[3]=a[3];
p[4]=a[4];
那就可以通过编译了
再问: 好吧对谢以后还请多指教
求破C语言用指针和函数求转置矩阵
C语言中的函数指针和指针函数怎么理解?
写一个函数,将一个3乘3的整数矩阵转置.用指针方法处理.c语言求大神
求解释c语言函数指针的作用
C语言中,指针型函数和函数型指针的区别
C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,
C语言(指针):编写一个函数实现n*n矩阵转置.在主函数中用scanf输入矩阵元素;将数组名作为函数实参.
定义3个指向含有4 个元素的一位整形数组的指针变量,用其求A矩阵与B矩阵的和矩阵C
C语言中,函数和函数指针,效率上差很多吗?
C语言指针求解释,
C语言指针求最大值问题
C语言:输入一个2*3的整数矩阵和一个3*2的整数矩阵,使用指针数组实现这两个矩阵的相乘.程序如下: