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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle用户被锁原因及办法

    Oracle用户被锁原因及办法在登陆时被告知test用户被锁1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间SQL>altersessionsetnls_

    2021年12月27日
    51
  • APP抓包工具Fidder

    APP抓包工具FidderAPP抓包工具Fidder0.安装下载Classic版本https://www.telerik.com/download/fiddler1.使用a.设置Fiddler打开Fiddler,Tools->FiddlerOptions(配置完后记得要重启Fiddler)选中”DecrptHTTPStraffic”,Fiddler就可以截获HTTPS请求选中”Allowremotecomputerstoconnect”.是允许别的机器把HTTP/HTTPS请求

    2022年5月22日
    57
  • two bin system_system系统目录是什么

    two bin system_system系统目录是什么这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.

    2022年10月10日
    4
  • vscode xml格式化插件

    vscode xml格式化插件XMLTools

    2022年7月16日
    16
  • 认识ManualResetEvent

    认识ManualResetEventManualResetEvent可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可以访问资源。当一个线程开始一个活动(此活动必须完成后,其他线程才能开始执行)时

    2022年7月4日
    28
  • 从0开始<十四>:模仿malloc和 free函数、strlen函数[通俗易懂]

    程序一:编写函数char*alloc(n)和voidafree(char*p)函数,这两个函数类似于malloc和free函数,其中第一个函数返回一个指向n个连续存储单元的指针,第二个函数释放已经分配单元的指针。思路:最容易实现方法是让一个大字符数组allocbuf中的空间进行分配。该数组是alloc和afree两个函数的私有数组。由于函数alloc和afree处理的对象时指针而不是

    2022年4月9日
    39

发表回复

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

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