int arr1[10];
char arr2[10];
float arr3[1];
double arr4[2];
注意:[]中在C99之前的必须是常数。不可以设置成变量。
回顾一下数据类型:
char //字符数据类型 1个字节(8个位)
short //短整型 2
int //整形 4
long //长整形 4
long long //更长的整形 8
float //单精度浮点数 4
double //双精度浮点数 8
char 长度(字节)为1 值域是-128到127或0到255
signed char 长度为1,但是因为有正负之分,所以这个时候的范围就是-128到127之间
unsigned char 长度唯一,都是正数,所以范围在0到255之间。
int arr1[10] = { 1,2,3 };
int arr2[] = { 1,2,3,4 };
int arr3[5] = { 1,2,3,4,5 };
char arr4[3] = { 'a',98, 'c' };
char arr5[] = { 'a','b','c' };
char arr6[] = "abcdef"
运行结果:
注:一个字符串的结束的标志是‘\0’,printf()函数对字符串进行输出的时候,遇到’\0’即字符串的结束标志。
#include
int main()
{
int arr[10] = { 0 };
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; ++i)
{
printf("&arr[%d] = %p\n", i, &arr[i]);
}
return 0;
}
//数组创建
int arr[3][4];
char arr[3][5];
double arr[2][4];
//数组初始化
int arr[3][4] = {1,2,3,4};
int arr[3][4] = {{1,2},{4,5}};
int arr[][4] = {{2,3},{4,5}};//二维数组如果有初始化,行可以省略,列不能省略
#include
int main()
{
int arr[3][4] = { 0 };
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
arr[i][j] = i * 4 + j;
}
}
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("%d ", arr[i][j]);
}
}
return 0;
}
数组名代表什么?
#include
int main()
{
int arr[10] = { 1,2,3,4,5 };
printf("%p\n", arr);
printf("%p\n", &arr[0]);
printf("%d\n", *arr);
//输出结果
return 0;
}
冒泡排序的设计:
void bubble_sort(int arr[] , int sz)
{
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int j = 0;
for (j = 0; j < sz - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[] = { 3,1,7,5,8,9,0,2,4,6 };
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, sz);//是否可以正常排序?
for (int i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
数组传参的错误设计:
void bubble_sort(int arr[])
{
int sz = sizeof(arr) / sizeof(arr[0]);//这样对吗?
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int j = 0;
for (j = 0; j < sz - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int sz = sizeof(arr) / sizeof(arr[0]);//这样对吗?
这样传参的只是地址,并不是数组本身。
文章来源:
https://blog.csdn.net/m0_58367586/article/details/128287089