1 // 阵列的复制代价很大,不是一个=赋值就可以的  ,得逐个元素复制过来
 2 
 3 #include<stdio.h>
 4 #include<stdlib.h>
 5 #include<time.h>
 6 
 7 int main()
 8 {
 9     srand(time(0));
10     int i, n[10], v[10];
11     for (i = 0; i < 10; i++) {
12         n[i] = rand() % 100; // 在0-99之间随机取10个数
13 
14     }
15     for (i = 0; i < 10; i++) {
16         v[i] = n[i];
17 
18     }
19     for (i = 0; i < 10; i++) {
20         printf("%d ", n[i]);
21 
22     }
23     printf("\n");
24     for (i = 0; i < 10; i++) {
25         printf("%d ", v[i]);
26     }
27     printf("\n");
28     return 0;
29 }
30 
31 47 96 20 91 15 98 89 9 22 85
32 47 96 20 91 15 98 89 9 22 85
33 
34 Process returned 0 (0x0)   execution time : 15.246 s
35 Press any key to continue.

用呼叫函式印出两个阵列

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 
 5 void printArray(int [10]);
 6 
 7 int main()
 8 {
 9     srand(time(0));
10     int i, n[10], v[10];
11     for (i = 0; i < 10; i++) {
12         n[i] = rand() % 100;
13     }
14     for (i = 0; i < 10; i++) {
15         v[i] = n[i]; // 复制
16     }
17     printArray(n);
18     printArray(v);
19     return 0;
20 
21 }
22 
23 void printArray(int t[10]) {
24      int i;
25      for (i = 0; i < 10; i++) {
26         printf(" %d", t[i]);
27      }
28      printf("\n");
29 }
30 
31  36 95 2 25 69 21 14 85 12 15
32  36 95 2 25 69 21 14 85 12 15
33 
34 Process returned 0 (0x0)   execution time : 2.709 s
35 Press any key to continue.

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

阵列呼叫函式与其他个别呼叫的区别:

阵列呼叫函式后,对函式内改变后,改变的是其本尊.

一般整数呼叫后,没有改变.

 1 // 阵列呼叫函式与其他呼叫函数区别
 2 
 3 #include <stdio.h>
 4 void increase (int [3]);
 5 
 6 int main() {
 7     int i, n[3] = {1, 2, 3};
 8     increase(n);
 9     for (i = 0; i < 3; i++) {
10         printf("n[%d] = %d\n", i, n[i]);
11     }
12     return 0;
13 }
14 
15 void increase(int n[3]) {
16      int i;
17      for (i = 0; i < 3; i++) {
18         n[i]++;
19      }
20 }
21 
22 n[0] = 2
23 n[1] = 3
24 n[2] = 4
25 
26 Process returned 0 (0x0)   execution time : 10.484 s
27 Press any key to continue.
28 
29 
30 #include<stdio.h>
31 
32 void increase(int);
33 
34 int main() {
35     int n = 1;
36     increase(n);
37     printf("n = %d\n", n);
38     return 0;
39 
40 }
41 
42 void increase(int n) {
43      n++;
44 }
45 
46 n = 1
47 
48 Process returned 0 (0x0)   execution time : 6.315 s
49 Press any key to continue.

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄