【C語言入門】陣列的複製

錯誤的複製方法

直接複製陣列 n 到陣列 v。 v = n;

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int i,n[10],v[10];
    for(i=0;i<10;i++){
        n[i]=rand()%100;
    }

    v = n;//(X)
    return 0;
}

陣列的複製會消耗時間或者資源。

陣列裡都是整數,陣列不可以複製,而整數是可以複製的。

如果陣列可以直接複製,消耗的資源就太多了,因此 C 語言不會讓你直接複製。

正確的陣列複製方法

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void printArray(int [10]);

int main()
{
    srand(time(0));
    int i,n[10],v[10];
    for(i=0;i<10;i++){
        n[i]=rand()%100;
    }
    for(i=0;i<10;i++){
        v[i]=n[i];
    }
    printArray(n);
    printArray(v);
    return 0;
}
void printArray(int t[10]){
    int i;
    for(i =0; i<10;i++){
        printf("%d ",t[i]);
    }
    printf("\n");
}

Leave a Comment

Your email address will not be published. Required fields are marked *