数组

Hello World

//本文档所有内容皆为数组相关,因为是第二部分内容,所以命名为2.c

include<stdio.h>

include<string.h>

include <stdlib.h>

include<windows.h>

//数组初始化
/*
int main()
{
int num[20] = {1,2,3,4,5};
return 0;
}
*/

//数组的下标
//下标访问操作符为[]
/*
int main()
{
int num[10] = {1,2,3,4,5,6,7,8,9,10};
int i = 0;
for ( i = 0; i < 10; i++)
{
printf("%d ",num[i]);
}
return 0;
}
*/

//数组的输入输出
/*
int main()
{
int num[10] = {1,2,3,4,5,6,7,8,9,10};
int i = 0;
for ( i = 0; i < 10; i++)
{
scanf("%d", &num[i]);

}
for ( i = 0; i < 10; i++)
{
printf("%d ",num[i]);
}

return 0;
}
*/

//数组在内存中的存储
//打印地址使用%p,数组在内存中是连续存放的,
//随着数组下标的增长,数组的地址是由低到高变化的
/*
int main()
{
int num[10] = {1,2,3,4,5,6,7,8,9,10};
int i = 0;
for ( i = 0; i < 10; i++)
{
printf("%p\n",&num[i]);
}
return 0;
}
*/

//sizeof
//sizeof(数组名)计算的是数组所占内存空间的大小,单位是字节
//sizeof的计算类型是size_t
//size_t是无符号整型
/*
int main()
{
int arr[10] = {1, 2, 3};
printf("%d\n", sizeof(arr));//计算的是数组所占内存空间的大小,单位是字节
printf("%d\n", sizeof arr[0]);//计算单个元素所占内存的的大小,单位是字节
printf("%d", sizeof(arr) / sizeof arr[0]);//计算数组元素个数

int sz = sizeof(arr) / sizeof arr[0];
int i = 0;
for ( i = 0; i < sz; i++)
{
    printf("%d", arr[i]);
}
return 0;

}
*/

//二维数组的出初始化和下标使用
/*
int main()
{
int arr[3][5] = {{1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}, {3, 4, 5, 6, 7}};
printf("%d", arr[1][3]);
return 0;
}
*/

//使用循环配合变量打印数组所有元素
/*main()
{
int arr[3][5] = {{1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}, {3, 4, 5, 6, 7}};
int i = 0;
for ( i = 0; i < 3; i++)
{
int j = 0;
for ( j = 0; j < 5; j++)
{

        printf("%d ", arr[i][j]);
    }
    printf("\n");
}

return 0;

}
*/

//打印数组的地址
/*
int main()
{
int arr[2][5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int i = 0;
for ( i = 0; i < 2; i++)
{
int j = 0;
for ( j = 0; j < 5; j++)
{
printf("%p\n", &arr[i][j]);
}

}
return 0;

}
*/

//在C99中,引入了变长数组的概念,允许数组的大小是变量的
/*
int main()
{
int n = 0;
scanf("%d", &n);
int arr[n];
//数组元素赋值
int i = 0;
for ( i = 0; i < n; i++)
{
arr[i] = i;

}
//输出
for ( i = 0; i < n; i++)
{
    printf("%d ", arr[i]);
}

return 0;

}
*/

//多个字符从两端向中间汇聚
/*
int main()
{
char arr1[] = "welcome to bit !!!!!!!";
char arr2[] = "**********************";

int left = 0;
int right = strlen(arr1) - 1;

while (left <=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
Sleep(1000);
system("cls");
left++;
right--;
}
printf("%s\n", arr2);
return 0;

}
*/

posted @ 2024-02-02 11:26  xuHxuan  阅读(61)  评论(0编辑  收藏  举报