C语言之数组(数组赋值的三种形式)

C语言之数组(数组赋值的三种形式)在C语言中,对数组进行赋值的三种形式1、通过循环的形式    即:数组名[下标]    对数组的元素进行依次赋值 #include<stdio.h>intmain(){inti;inta[10]={0};for(i=0;i<10;i++){scanf("%d",&a[…

大家好,又见面了,我是你们的朋友全栈君。

在C语言中,对数组进行赋值的三种形式

1、通过循环的形式     即:数组名[下标]      对数组的元素进行依次赋值

 

#include <stdio.h>
int main()
{
    int i;
    
    int a[10] = {0};
    for(i=0;i<10;i++)
    {
         scanf("%d",&a[i]);
    }
    for(i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

2、通过循环的形式     数组名+下标       对数组的元素进行依次赋值

#include <stdio.h>
int main()
{
    int i;
    int a[5];   // 数组名:a 是数组首元素的地址 -----相当于一个指针  是一个常量  
                //指针+整型值,表示地址的前移,前移的字节由指针指向的对象的类型决定
                //b+1;  前移4个字节(int型)

    printf("%#p\n",a);        //打印输出数组a的地址 相当于a[0]的地址
    printf("%#p\n",&a[0]);
    printf("%#p\n",a+1);
    printf("%#p\n",&a[1]);
    printf("%#p\n",a+2);
    printf("%#p\n",&a[2]);

    printf("请输入数组a元素的值:");
    for(i=0;i<5;i++)
    {
        scanf("%d",a+i);     //赋值给数组a
    }
    printf("a数组元素的值为:");
    for(i=0;i<5;i++)
    {
         printf("%d ",*(a+i));
    }
    return 0;
}

打印出的结果:

C语言之数组(数组赋值的三种形式)

 

3、通过循环的形式  利用指针  对数组的元素进行依次赋值

 #include <stdio.h>
int main()
{
    int i;
    int d[5] = {10,20,34,89,90};
	//指针指向一维数组,指针指向数组首元素
       //数据类型 *指针名;
	int *p = d;
	//int *p = &d[0];

	//指针指向数组首元素。指针名可以当数组名使用


		printf("%#p\n",p);
		printf("%d\n",d[0]);
		printf("%d\n",*++p); //++p p的地址先偏移, *p
		printf("%d\n",d[1]);
		printf("%#p\n",p);
		printf("%#p\n",&d[1]);

	printf("请输入数组d元素的值:");

	p = d;
	for(i = 0; i < 5; i++)
	{
		//scanf("%d",p+i);  //p+0 p+1 p+2 p+3
	     scanf("%d",p++);  //p = p+1
	}
	//for循环结束,p偏移到元素d[4]的下一个元素
	p = &d[0];
	for(i = 0; i < 5; i++)
	{
		//printf("%d ",*(p+i));
		//printf("%d ",*p++);  //p++,后置  *p取p变化之前的内容
		printf("%d ",p[i]);  //指针指向数组首元素。指针名可以当数组名使用
	}
	printf("\n-----------------\n");


    return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157676.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在手写数字识别的例子中_关于人脸识别的案例

    在手写数字识别的例子中_关于人脸识别的案例1.概念介绍:图像识别(ImageRecognition)是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。机器学习领域一般将此类识别问题转化为分类问题。手写识别是常见的图像识别任务。计算机通过手写体图片来识别出图片中的字,与印刷字体不同的是,不同人的手写体风…

    2025年11月16日
    4
  • js 判断字符串中是否包含某个字符include的坑「建议收藏」

    js 判断字符串中是否包含某个字符include的坑「建议收藏」方法一indexOf()(推荐)varstr=”123″;console.log(str.indexOf(“3″)!=-1);//trueindexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回-1。方法二test()varstr=”123”;varreg=RegExp(/3/);console.log(reg.test(str));//truetest()方法用于检索字

    2022年10月6日
    5
  • 书 囧 书

    书 囧 书

    2021年7月24日
    56
  • 编程开发工具一览:新手到大神,程序员都用什么写代码?「建议收藏」

    编程开发工具一览:新手到大神,程序员都用什么写代码?「建议收藏」俗话说的好:工欲善其事,必先利其器。一款好的开发工具对程序员来说是至关重要的,可以降低开发成本、提高开发的效率和代码质量。所以今天分享一些主流的编程开发工具,基本都是我曾经或正在使用的,附带一些使用感受。编程开发工具一览本文大纲:本地编辑器Notepad其实就是Windows系统自带的记事本啦,致敬经典!别小瞧记事本,其实它也能作为一款最原始最纯洁的代码编辑器来使用。比如我初学前端时,就用记事本编辑网页代码,然后在保存文件时修改后缀为.html,双击就能运行了。正因为..

    2022年5月29日
    83
  • a标签去掉下划线_怎么去掉html a超链接下划线

    a标签去掉下划线_怎么去掉html a超链接下划线我们在HTML网页制作过程中,相信大家对css文本超链接这个概念并不陌生。我们都知道想要给某段文本或者指定元素添加一个锚点也就是超链接需要用到HTML中的a标签。程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)​zhuanlan.zhihu.com那么有的新手可能就会发现,在使用a标签时文本超链接会自动出现下划线!这就让一些小白们感到苦恼了,…

    2022年5月9日
    53
  • 关于widthStep造成的问题

    关于widthStep造成的问题最近遇到一个很奇怪的问题,一直没有解决,就是在A图像中设置一个ROI,将其clone给B,然后对B进行二值化,输入为B,输出为C,这时二值化完后的图像C跟ROI区域的图像区域不同。通过查看发现罪魁祸首是widthStep变了。无意中解决了这个问题,做法如下:方法1:就是在A图像中设置一个ROI,将其clone给B,新建一个C,大小、位数和通道数同B,将Bclone给C,然后对C进行

    2022年6月9日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号