C语言-数组与指针的区别

  • 2020-09-29
  • 0
  • 0

一、指针和数组

写一段代码计算字符个数:

/*
   指针和数组的区别
*/

//计算一个字符里的字符个数

#include<stdio.h>
int main()
{
	char str[] = "Mr.wang";
	int count = 0;
	while(*str++ != '\0')
	{
		count++;
	}
	printf("有%d个字符",count);

	return 0;
}

看似这段代码是这样的没问题,实则是不能运行的

c语言的术语lvalue 指用于识别或定位一个存储位置的标识符。(注意:左值同时还必须是可改变的)数组名是不可修改的

接着上边的代码我们改改创建一个指针指向数组

#include<stdio.h>
int main()
{
	char str[] = "Mr.wang";
	char *target = str;
	int count = 0;
	while (*target++ != '\0')
	{
		count++;
	}
        printf("有%s个字符\n", str);
	printf("有%d个字符\n", count);

	return 0;
}

效果图如下:

评论

还没有任何评论,你来说两句吧