C语言 变量数组只能在头部定义
2017-11-04 17:10
369 查看
今天写了点代码,一直也没看出什么错。突然想打C语言变量要在头部一起定义了。把下面的数组定义放到头部就行了。真鸡儿不方便。。。
把上面的数组定义,放到头部就行了。
#include<stdio.h> void arymul(int* a, int* b, int* c,int row,int cols,int end); int sum(int* array,int length); int main() { int A[2][2]= {{1,2}, {3,4}}; int B[2][3]= {{2,2,2}, {2,2,2}}; int C[2][3]; int i,j; int a[5] = {0,1,2,4,5};//变量,数组定义要放在可执行语句之前 arymul((int*)A,(int*)B,(int*)C,2,2,3); for(i=0; i<2; i++) { for(j=0; j<3; j++) { printf("%-4d",C[i][j]); } printf("\n"); } //int a[3] = {0,1,2,4,5};//这里一直报错:error C2143: syntax error : missing ';' before 'type' printf("%d\n",sum((int*)a,5)); return 0; } void arymul(int* a, int* b, int* c,int row,int cols,int end) { int i, j, k; int temp; for(i = 0; i < row; i++) { for(j = 0; j < end; j++) { temp = 0; for(k = 0; k < cols; k++) { // temp+= a[i][k]*b[k][j]; //A[row][cols]*B[cols][end] temp+=*(a+i*cols+k)*(*(b+k*end+j)); } // c[i][j] = temp; *(c+i*end+j)=temp; } } } //对一维矩阵做加法 int sum(int* array,int length) { int i; int sum=0; for(i=0;i<length;i++) { sum+=*(array+i); } return sum; }
把上面的数组定义,放到头部就行了。
相关文章推荐
- [C语言]除非该数组为全局变量,否则只能在定义数组时获取数组长度,在传递过程中只是传递指针不能再次获取长度
- 【原创】C语言中如何用长度变量定义数组
- 【原创】C语言中如何用长度变量定义数组
- 关于“在C语言中只能在函数前面定义变量”的问题
- C语言返璞归真之修改const常量和使用变量定义数组长度
- [c]c语言中可不可以用变量定义数组的个数
- C语言的数组可以用变量定义吗?
- C语言只能在开头定义变量?
- 【规范】C语言中定义变量只能在一个函数或一个块的开始吗?
- PLSQL 定义含有多个字段的数组类型变量
- C语言switch case语句中定义变量问题
- C语言如何跨文件调用函数定义中声明的变量
- 静态变量只能在类主体中定义
- C语言外部调用结构体,变量和数组
- 20170214C语言提升08_指针_01变量及指针及数组
- c语言中定义struct型变量时使用“.”符号的意义
- 五、PHP知识核心 预定义变量(超全局变量/数组)
- [iOS]C语言技术视频-01-变量的定义
- C语言中利用#define和#undef定义初始化数组,实现不同的初始化效果
- js 多种变量定义(对象直接量,数组直接量和函数直接量)