数组的注意事项
int main()
{
char arr[] = "abcdrf";
char arr1[] = "abc";//里面包括 a b c \0
char arr2[] = { 'a','b','c' };//里面包括 a b c
int arr3[] = { 0,1,2,3,4,5,6,7,8,9 };
for (int i = 0; i <= strlen(arr); i++)
{
printf("%c\n", arr[i]);
}
int e = strlen(arr);
while (e > 0)
{
printf("%c\n", arr[e]);//倒序打印
e--;
}
int sz = sizeof(arr3) / sizeof(arr3[0]);
for (int n = 0; n < sz;n++)
{
printf("arr3[%d] = %p\n", n, &arr3[n]);
//数组在内存中是连续存放的,大小由数组的类型决定的,例:int 相隔4个字节
}
printf("%zd\n", sizeof(arr1));//4
printf("%zd\n", sizeof(arr2));//3
printf("%zd\n", strlen(arr1));//3
printf("%zd\n", strlen(arr2));//在计算arr2没有遇到 \0 所以返回值为随机数
printf("%zd\n", sizeof(arr));//计算的数组空间的大小,7,计算变量、数组、类型的大小,单位是字节
//操作符
printf("%zd\n", strlen(arr));//计算元素的个数,求字符串长度的,只能针对字符串6
//库函数 string.h 遇到\0
//
//二维数组
int arr4[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};//3为行,4为列,意思为存3行数组,每行数组俩面有4个元素,没设定初始化值,默认为0;
//行可以省略
for (int i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("%d ", arr4[i][j]);
printf("arr4[%d][%d] = %p\n", i, j, &arr4[i][j]);
//数组在内存中是连续存放的,大小由数组的类型决定的,下标访问数组,都是从0开始的
}
printf("\n");
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示