同Swap函数介绍指针的应用
子函数的改变要想影响到父函数,必须传指针和解引用
数组 定义 类型 数组名[数组长度];
数组名arr只在如下情况表示整个数组:
1.在定义数组的同一个函数中,求sizeof(arr),表示整个arr的字节数.注意形参中的数组其实是指针
2.在定义数组的同一个函数中,&arr+1,表示加整个数组的大小
其它情况数组名表示数组首元素的地址
整型数组在进行参数传递时一定要传数组起始地址和长度
字符数组,学习的重点
字符串:用"“包括起来的字符序列,后面有一个隐藏的’\0’
‘\0’:是字符串结尾标记,判断一个字符数组是不是字符串就看有没有’\0’
字符串:第一种用”"包括,第二种,有’\0’的字符数组
注意:在字符串函数不需要传长度,可以通过’\0’判断结束
0:0,’\0’,false,NULL
‘0’:48
#include <stdio.h>
//字符数组反转
void Reverse(char *arr,int len)
{
char tmp;
for(int i=0,j=len-2;i<j;i++,j--)
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
//求字符串arr的有效长度,不包含'\0'."abc"->3
int Mystrlen(char *arr)
{
int i = 0;
while(arr[i]!='\0')
{
i++;
}
return i;
}
int main()
{
char str1[] = "ab0cde";
printf("%d\n",Mystrlen(str1));
printf("%s\n",str1);
//Reverse(str1,sizeof(str1)/sizeof(str1[0]));
printf("%s\n",str1);
return 0;
}