数组当做参数传递的问题

/* ============================================================================ Name: TestArray.c Author: lf Version: Copyright : Your copyright notice Description : 数组当做参数传递的问题 数组当做参数传递的时候,传递的是数组的指针 因为: 1 数组的拷贝很耗费资源.为了避免这种情况,C语言的编译器在传递数组时传递数组的指针 2 C语言中数组名代表了数组的首地址 但在接收到该数组参数后,对其进行操作时还是作用于原来的数组. 这个问题有点特殊,暂时记下来,后续在深究. ============================================================================ */#include <stdio.h>#include <stdlib.h>int main(void) {//所占内存大小为20个字节int array[5]={1,2,3,4,5};printf("main int array[5] size=%d\n",sizeof(array));printf("===========\n");int i;for(i=0;i<5;i++){printf("first array[%d]=%d\n",i,array[i]);}printf("===========\n");//把数组作为参数传递到其他的函数testArray(array);for (i = 0; i < 5; i++) {printf("second array[%d]=%d\n", i, array[i]);}printf("===========\n");return EXIT_SUCCESS;}void testArray(int array[5]){//因为传递过来的仅仅是个指针,所以其大小为4个字节printf("testArray int array[5] size=%d\n",sizeof(array));printf("===========\n");//改变原来的数组int i;for (i = 0; i < 5; i++) {array[i] = array[i] + 5;}}

,带上心灵去旅行,以平和的心态看待一切,

数组当做参数传递的问题

相关文章:

你感兴趣的文章:

标签云: