方法一(规范):
1 #include <stdio.h> 2 #include <math.h> 3 #include <stdlib.h> 4 5 //函数预声明 6 void printVector(double(*p)[3], int m);//向量的打印 7 //主函数 8 int main(void) 9 { 10 11 double uk0[3] = { 1.0, 2.0, 3.0 };//迭代向量 12 double(*puk0)[3] = &uk0;//迭代向量指针 &uk0 是整个数组的首地址,uk0是数组首元素的首地址 13 printf("初始向量u0: "); 14 printVector(puk0, 3); 15 system("pause"); 16 } 17 18 //函数具体执行 19 //向量的打印 20 void printVector(double(*p)[3], int m) 21 { 22 for (int i = 0; i < m; i++) 23 { 24 printf("%lf ", (*p)[i]); 25 } 26 }
方法二(写着简单):
1 #include <stdio.h> 2 #include <math.h> 3 #include <stdlib.h> 4 5 //函数预声明 6 void printVector(double *p, int m);//向量的打印 7 //主函数 8 int main(void) 9 { 10 11 double uk0[3] = { 1.0, 2.0, 3.0 };//迭代向量 12 double *puk0 = uk0;//迭代向量指针 &uk0 是整个数组的首地址,uk0是数组首元素的首地址 13 printf("初始向量u0: "); 14 printVector(puk0, 3); 15 system("pause"); 16 } 17 18 //函数具体执行 19 //向量的打印 20 void printVector(double *p, int m) 21 { 22 for (int i = 0; i < m; i++) 23 { 24 printf("%lf ", p[i]); 25 } 26 }