博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19 阵列的复制
阅读量:5297 次
发布时间:2019-06-14

本文共 4075 字,大约阅读时间需要 13 分钟。

1 // 阵列的复制代价很大,不是一个=赋值就可以的  ,得逐个元素复制过来 2  3 #include
4 #include
5 #include
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 8532 47 96 20 91 15 98 89 9 22 8533 34 Process returned 0 (0x0) execution time : 15.246 s35 Press any key to continue.

用呼叫函式印出两个阵列

1 #include
2 #include
3 #include
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 1532 36 95 2 25 69 21 14 85 12 1533 34 Process returned 0 (0x0) execution time : 2.709 s35 Press any key to continue.

 

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

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

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

1 // 阵列呼叫函式与其他呼叫函数区别 2  3 #include 
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] = 223 n[1] = 324 n[2] = 425 26 Process returned 0 (0x0) execution time : 10.484 s27 Press any key to continue.28 29 30 #include
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 = 147 48 Process returned 0 (0x0) execution time : 6.315 s49 Press any key to continue.

 19.4sizeof 运算子

资料型别占用的记忆体空间大小大多是属于实作定义,会随着编译器与设定上的不同有所差异

sizeof运算结果为size_t 型别 (在printf时使用zu):我的编译器用%zu无法解读出来,这里我用%d代替,可见在引用函式与没有引用函式数组大小与长度结果是不一样的

1 #include 
2 3 void f(int[]); 4 5 int main() { 6 int v[5] = {
1, 2, 3, 4, 5}; 7 f(v); 8 return 0; 9 }10 11 void f(int v[]) {12 printf("Size of int: %d\n", sizeof(int));13 printf("Size of v[0]: %d\n", sizeof(v[0]));14 printf("Size of v: %d\n", sizeof(v));15 printf("Length of v: %d\n", sizeof(v)/sizeof(v[0]));16 }17 18 Size of int: 419 Size of v[0]: 420 Size of v: 421 Length of v: 122 23 Process returned 0 (0x0) execution time : 5.493 s24 Press any key to continue.25 26 #include
27 28 int main() {29 int v[5] = {
1, 2, 3, 4, 5};30 printf("Size of int: %d\n", sizeof(int));31 printf("Size of v[0]: %d\n", sizeof(v[0]));32 printf("Size of v: %d\n", sizeof(v));33 printf("Length of v: %d\n", sizeof(v)/sizeof(v[0]));34 return 0;35 36 }37 38 Size of int: 439 Size of v[0]: 440 Size of v: 2041 Length of v: 542 43 Process returned 0 (0x0) execution time : 0.998 s44 Press any key to continue.

 19.2 可对任意大小的阵列求最大值

发现:maxv(a, N)中 N要与数组个数一致

1 #include 
2 3 int maxv(int[], int N); 4 5 int main() { 6 int a[3] = {
3, 9, 7}; 7 printf("Max: %d\n", maxv(a, 3)); 8 int b[5] = {
3, 4, 1, 2, 7}; 9 printf("Max: %d\n", maxv(b, 5));10 return 0;11 12 }13 14 int maxv(int v[], int N) {15 int max = v[0], i;16 for (i = 1; i < N; i++) {17 if (v[i] > max)18 {19 max = v[i];20 }21 }22 23 return max;24 }25 26 Max: 927 Max: 728 29 Process returned 0 (0x0) execution time : 0.965 s30 Press any key to continue.

 

转载于:https://www.cnblogs.com/pxxfxxxx/p/10856631.html

你可能感兴趣的文章
实体标签,媒体标签,飘动标签
查看>>
MySQL安装的详细步骤
查看>>
管道,数据共享,进程池
查看>>
Java基础--面向对象编程4(多态)
查看>>
CSS
查看>>
shell 管道和tee使用时获取前面命令返回值
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
[TypeScript] Understanding Generics with RxJS
查看>>
WordPress GRAND FlAGallery插件“s”跨站脚本漏洞
查看>>
程序集的混淆及签名
查看>>
java笔记
查看>>
MATLAB中subplot的用法
查看>>
MapReduce的初次尝试
查看>>
thinkphp框架 中 ajax 的应用
查看>>
JAVA排序(一) Comparable接口
查看>>
iTerm2 + Oh My Zsh
查看>>
判断9X9数组是否是数独的java代码
查看>>
ExtJS学习之路第一步:对比jQuery,认识ExtJS
查看>>
Leetcode 268 Missing Number
查看>>