------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
数组正确写法:
数组内存存储细节:
数组和函数:
1.数组作为函数参数,可以省略元素个数
2.数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
二维数组
strlen函数:计算字符串长度
1.计算的是字符数,并不是字数
2.计算的字符不包括\0
3.从某个地址开始数字符的个数,直到遇到\0为止
strlen函数声明在string.h文件中
字符串练习: 编写一个函数char_contains(char str[],char c),
如果字符串str中包含字符c则返回数值1,否则返回数值0
一、数组
数组的定义格式: 类型 数组名[元素个数];
eg:int ages[5] = {19, 29, 28, 27, 26};
数组正确写法:
int ages[5] = {10, 11, 12, 67, 56};
int ages[5] = {10 , 11};
int ages[5] = {[3] = 10,[4] = 11};
int ages[] = {10, 11, 14};
int ages['A'-50] = {10, 11, 12, 14, 16};
int count = 5;
int ages[count];
ages[0] = 10;
ages[1] = 11;
ages[2] = 18;
如果想在定义数组的同时进行初始化,数组元素个数必须是常量,或者不写
//错误写法 : int ages[count] = {10, 11, 12};
//只能在定义数组的同时进行初始化
//错误写法:int ages[];
int ages[5];
ages = {10, 11, 12, 14};
数组内存存储细节:
int main()
{
double ages[3] = {10, 19, 18};
printf("%p\n", ages);
for (int i = 0; i<3; i++) {
printf("ages[%d]的地址是:%p\n", i, &ages[i]);
}
return 0;
}
数组和函数:
1.数组作为函数参数,可以省略元素个数
2.数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
void change(int array[])
{
printf("array==%p\n", array);
array[0] = 100;
}
void change2(int n)
{
n = 100;
}
int main()
{
int ages[6] = {10, 11, 10, 11, 10, 11};
printf("ages==%p\n", ages);
change(ages);
// change2(ages[0]);
printf("%d\n", ages[0]);
return 0;
}
二维数组
int ages2[3][5]={
{10, 11, 90, 89, 70},
{10, 11, 90, 89, 70},
{10, 11, 90, 89, 70}
二、字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
char name[] = {'i', 't', 'c', 'a', 's', 't', '\0'};
int main()
{
char name[] = "itc\0ast";
char name2[] = {'o', 'k'};
printf("%s\n", name2);
// printf("%s\n", &name2[1]);
return 0;
}
strlen函数:计算字符串长度
1.计算的是字符数,并不是字数
2.计算的字符不包括\0
3.从某个地址开始数字符的个数,直到遇到\0为止
strlen函数声明在string.h文件中
字符串练习: 编写一个函数char_contains(char str[],char c),
如果字符串str中包含字符c则返回数值1,否则返回数值0