*数组总结*

来源:互联网 发布:汽车修理厂软件手机版 编辑:程序博客网 时间:2024/06/09 22:10
一.一维数组1.数组的创建及初始化(1)数组创建时,[]中要给一个常量,不能用变量    例:int main()        {             int a[10];             char b[4];             double d[6];         }(2)数组在创建时时未指定数组的确定大小时,就得初始化。此时数组的元素个数根据初始化的内容来确定                 例:char a[] = {'a','b','c'}
2.一维数组的使用(1)数组下标从0开始;(2)数组的大小可通过计算得到:    例: int a[10];        int sz = sizeof(a)/sizeof(a[0]);
3.一维数组在内存中的存储  一维数组在内存中是连续存放的
4.一维数组的指针访问    例:  int main()        {             int a[10] ={0};             int *p = a;             int i = 0;             for(i=0; i<10; i++)             {                  *(p+i) = i;                  printf("&a[%d] = %p ======= p+%d = %p\n",i,&a[i],i,p+i);             }"======="左右输出地址一样     其中,程序中的*(p+i) = i等价于*(i+a) = i;a[i] = i;p[i] = i;可替换。     此时,数组名是数组首元素的地址。。
二.二维数组1.数组的创建及初始化    例(创建):int main()              {                  int a[3][4];                  char b[4][5];                  double d[2][4];               }
    例(初始化):int main()              {                 int a[3][4] = {1,2,3,4};                 char b[4][5] = {{1,2},{4,5}};                 double d[][4] = {{2,3},{4,5}};              }
2.二维数组的使用(1)二维数组的使用也通过下标的方式(2)数组下标从0开始;(3)数组的大小可通过计算得到:      例: int a[10];          int sz = sizeof(a)/sizeof(a[0]);
3.二维数组在内存中(的存储)是连续存放的
三.数组名代表数组的两种情况:(1)sizeof(数组名),这里的数组名表示整个数组(2)&数组名,这里的数组名表示整个数组
四.数组作为函数参数例:(冒泡法实现从小到大排序)#define _CRT_SECURE_NO_WARNINGS 1#include <Windows.h>#include <stdlib.h>#include <stdio.h>  
void bubble_sort(int a[],int sz)    { int i = 0; int j = 0; int temp = 0; for(i=0; i<sz-1; i++) {  for(j=0; j<sz-1-i; j++)  {   if(a[j] > a[j+1])   {    temp = a[j];    a[j] = a[j+1];   a[j+1] = temp;   }  } }    }
void print(int a[],int sz){ int i = 0; for(i=0; i<sz; i++) {  printf("%d ",a[i]); } printf("\n");    }   int main()    { int sz = 0;int a[8] = {3,5,12,15,1,4,10,17}; sz = sizeof(a)/sizeof(a[0]); bubble_sort(a,sz); print(a,sz); system("pause"); return 0;   }
原创粉丝点击