数组基础知识1

xiaoxiao2021-02-28  143

1.数组的定义以及初始化 int arr[10];//定义一维数组:类型符 数组名[常量表达式:必须是常量,不能是变量,当然符号常量也是合法的。此时(定义时)10表示数组的长度。arr[3]=100;//此时(使用时)3表示小标。注意:下标是从0开始的。arr[0]~arr[9].在定义数组时对全部数组元素赋予初值:int arr[10]={1,2,3,4,5,6,7,8,9,20};即:arr[0]=1,arr[1]=2,arr[2]=3……arr[9]=10只给数组中的一部分元素赋值:int arr[10]={1,2,3,4};//表示:只给前面四个元素赋初值,系统自动给后面六个赋初值为0.(聚合类型只初始化一部分,剩余部分为0.)随机值int arr[10];使一个数组中全部元素值为0int arr[10]={0,0,0,0,0,0,0,0,0,0}; int arr[10]={0};//未赋值的部分元素自动设为0赋值时可以不指定数组长度int arr[4]={1,2,3,4};或者 int arr[]={1,2,3,4};

2.数组越界即非法访问内存(此程序在vc6.0中出现死循环)

inti; int arr[10]; { for(i=0;i<=10;i++) { arr[i]=0; printf("%d\n",i); } } 3.数组名arr在定义数组的同一个函数中的如下情况表示整个数组 A:sizeof(arr)表示整个数组占用的字节数。可以通过sizeof(arr)/sizeof(arr[0])求数组长度。 B:&arr+1表示加整个数组的大小。 C:其他情况一维数组数组名表示数组首元素的地址。例如:int arr[10];int *p=arr; 4.真题演练 给定如下代码,int x[4]={0};int y[4]={1};数组x和y的值为(B) A:{0,0,0,0},{1,1,1,1}  B:{0,0,0,0},{1,0,0,0}

5.数组的简单输出

#include <stdio.h> int main() { int drr[]={1,2,3,4,5,6,8,9}; drr[0]=100; drr[6]=12; for(int i=0;i<sizeof(drr)/sizeof(drr[0]);i++) { printf("%d ",drr[i]); //printf("%d ",sizeof(drr)); } return 0; } 6.将arr的数据逆序输出

#include <stdio.h> void Show(int arr[],int len)//输出函数 { for(int i=0;i<len;i++) { printf("%d ",arr[i]); } printf("\n"); } void Reverse(int arr[],int len)//逆序输出。整型数组一定要传长度。 { int tmp; for(int i=0;i<len/2;i++) { tmp=arr[i]; arr[i]=arr[len-i-1]; arr[len-i-1]=tmp; } Show(arr,len); } int main() { int arr[]={1,2,3,4,5,6,7,8,9,10}; Reverse(arr,sizeof(arr)/sizeof(arr[0])); //Show(arr,sizeof(arr)/sizeof(arr[0]));//arr不表示整个数组 return 0; }

转载请注明原文地址: https://www.6miu.com/read-2350377.html

最新回复(0)