数组
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;
}
*/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇