Fortran 当数组大小不一样时,会出现什么情况。
来源:互联网 发布:东莞网络推广培训班 编辑:程序博客网 时间:2024/04/29 21:11
如果 数组 arr 是2*2的,如
1,3
2,4
调用子程序 fun()
但是子程序里面的数组的长度和外面的数组不匹配时, 就会可能不是你想要的结果。
这里分成两种情况,
情况1, 函数里面比外面的大。
如 将 2*2 的数组,传入 3*3的数组。
2*2是这样的:
1,3
2,4
那么 3*3就会变成
1,4,0
2,0,0
3,0,0
这是因为数组中数据的存放导致的。
情况2,将大数组,传入 小数组。
如3*3是
1,4,7
2,5,8
3,6,9
那么2*2 就变成了
1,3
2,4
那么问题来了,如果想把一个大数组,传给小数组,但是希望小数组,等于大数组 左上角的那一块 ,怎么操作了。 可以使用 申请动态数组的方法
integer ,allocatable :: arr_resize(:,:) subroutine resize_array(src_arr,desc_arr, dimen) allocate(a_resize(dimen,dimen)) do i=1,dimen do j=1,dimen desc_arr(i,j) = src_arr(i,j) end do end do
通过两层循环,让新的数组,为坐上角的值 。然后把新的 小一点数组,传给 函数就可以了。
文字表述真的 好蹩脚啊。
0 0
- Fortran 当数组大小不一样时,会出现什么情况。
- 数组越界场景集合(什么情况会出现数组越界呢)--iOS开发
- 当程序出现莫名其妙的错误,你会想到什么?
- C语言声明数组变量时,在什么情况下,可不指定数组大小
- C语言声明数组变量时,在什么情况上,可不指定数组大小
- C语言声明数组变量时,在什么情况下,可不指定数组大小
- 菱形继承的内存布局是怎么回事呢?访问时,又会出现什么情况?
- 保险费迟交了会出现什么情况呢?
- 【什么情况下U盘会出现0字节?】
- 调用函数前未声明会出现什么情况?
- auto_ptr作为vector的元素会出现什么情况
- 两个线程同时调用一个函数会出现什么情况?
- 两个线程同时调用一个函数会出现什么情况?
- C++面试题执行Test()会出现什么情况
- Fortran中可变大小数组的定义
- 数据库并发情况下什么情况会出现脏读,如何防范脏读
- 当《新闻联播》上了互联网金融时什么情况
- 什么情况下会失眠
- Linear Regression
- MTK最新最全的智能机roadmap(珍藏版)
- 百科—最短路
- Android中Path类的lineTo方法和quadTo方法画线的区别
- Eclipse下修改工程名
- Fortran 当数组大小不一样时,会出现什么情况。
- iText初探之HelloWorld (一)
- Unity 5.4公開測試,免費用戶也能下載使用!
- android 选择图片后对图片压缩
- base64转换,c代码实现
- java 常用类 日期类 Date SimpleDateFormat Calendar
- Eclipse快捷键 10个最有用的快捷键
- 混合高斯模型(Mixtures of Gaussians)和EM算法
- Android进阶之ListView实现多条数据同时倒计时功能