墨鱼崽崽


私信TA

用户名:dotcpp0714187

访问量:303

签 名:

等  级
排  名 10674
经  验 1072
参赛次数 0
文章发表 7
年  龄 23
在职情况 待业
学  校
专  业

  自我简介:

这一部分一看标题可能有点绕,我们先从名字上了解。

数组指针:它是一个指针,指针指向数组。这不就是我们上一篇文章里的一样嘛?

#include<stdio.h>
int main()
{
	int a[5] = { 1,2,3,4,5 };
	int* p = a;//定义一个指针,指针指向数组
	for (int i = 0; i < 5; i++)
	{
		printf("a[%d]的地址为:%p\n",i, p + i);
		printf("a[%d]=%d\n", i, *(p + i));
	}
	return 0;
}

指针数组:它是一个数组, 它里面的每一个元素都是指针。

#include<stdio.h>
int main()
{
	int a[5] = { 1,2,3,4,5 };
	int* p[5];//定义一个指针数组,数组里的每一个元素都是一个指针
	for (int i = 0; i < 5; i++)
	{
		p[i] = &a[i];//将数组a里每一个元素的地址赋给指针数组里的每一个指针
	}
	for (int i = 0; i < 5; i++)
	{
		printf("a[%d]的地址为:%p\n", i, p[i]);
		printf("a[%d]=%d\n", i, *p[i]);
	}
	return 0;
}

那么区别在哪里呢?时间复杂度上!等之后讲到时间复杂度再说。

 

0.0分

1 人评分

  评论区

  • «
  • »