栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

给一个数组赋1到10的初始值(指针)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

给一个数组赋1到10的初始值(指针)

给一个数组赋1到10的初始值(指针)!

指针对于大多数刚开始学习C语言的小白而言,并不陌生,指针,一个形象的代名词,阻碍了不知道多少的人对于C语言,C++的追求(包括笔者也一样)!但是这也仅仅只是刚开始时候,等到对指针的认识逐渐深入,又有了不少独特的认知!

给一个数组赋1到10的初始值,这个问题在我们刚刚接触数组时候就已经有所涉及,但是到了指针层面,写法,含义,又有了不同的表示,下面请看笔者通过对比来进行详细解读!

对于杠学习数组时候的代码:

#include 
int main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		arr[i] = i + 1;               //i由0到9;i+1由1到10 即将arr[]赋1到10的值
		printf("%d ", arr[i]);      //打印arr[i]
	}
	return 0;
}

在这里面用了for循环,数组arr[10]的初始化,等,将数组进行赋值!现在对已经学习过数组的人而言已经简单化了,毕竟但是刚刚学习数组时候,感觉真难,现在想想,都是在不断进化,学习的路上!

输出的结果 显而易见,清晰易懂!

 上述是笔者描述的关于学习数组时候所练习的代码,但是,现在已经学习到了指针模块,学习在进步,因此原先的代码,对于有不同的方法也要跟上!

下面请看笔者用指针来对数组进行赋1到10的初始值:

#include 
int main()
{
	int arr[10] = { 0 };
	int i = 0;
	int* p = arr;
	for (i = 0; i < 10; i++)
	{
		*(p + i) = i + 1;
		printf("%d ", arr[i]);
	}
	return 0;
}

在该段代码里面: int* p = arr;   指针p指向数组arr,    arr是数组名,而数组名是数组首元素的地址:即相当于&arr[0];   因此在该句中:   *(p + i) = i + 1;   通过解引用操作符(*),来对arr进行解引用,而在for循环的条件下:i=0;i<10;i++     依次进行,因此将i+1赋值给数组!所以能够达到想要的目的结果!

该段代码的运算结果如下所示:

 对于上述代码,经过改编部分代码片段:同理可得:

#include 
int main()
{
	int arr[10] = { 0 };
	int* p = arr;
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		*p = i + 1;
		p++;
		printf("%d  ", arr[i]);
	}
	return 0;
}

注意这个代码跟上述代码相比较,在for循环里面,发生了些许改编!

将第一个for循环里面的  *(p + i) = i + 1;   改编为:     *p = i + 1;    p++;        其实这两者的表达意思是一样的,有异曲同工之处,因为这个是在for循环里面,经过i++,    i每一次都会+1,因此对于 : (p+i)  跟p++;有着一样的含义!

因此代码的运行结果也是一样的!

 到此为止,笔者已经描述完,若有不足之处,请联系笔者进行更改!

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038347.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号