#鹏哥C语言#P81
指针运算-指针减指针
1.
代码展示:
#include<stdio.h>
int main()
{
int arr[10]={0};
printf("%ld\n",&arr[9]-&arr[0]);//9
printf("%ld\n",&arr[0]-&arr[9]);//-9
//指针减指针的绝对值得到指针和指针之间元素的个数
//但是只是指向同一块空间的两个数组才能相减!
return 0;
}
运行结果展示:
2.用指针求字符串abcdef的长度
方法一:
#include<stdio.h>
int my_strlen(char* str)
{
int count=0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
int len =my_strlen("abcdef");
printf("%d\n",len);
return 0;
}
方法二:指针减指针
#include<stdio.h>
int my_strlen(char* str)
{
char* start=str;
while(*str!='\0')
{
str++;
}
return (str-start);
}
int main()
{
int len =my_strlen("abcdef");
printf("%d\n",len);
return 0;
}
运行结果展示: