C语言 | 数组赋值方式

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

在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;
}

 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;
}

  • 15
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西皮呦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值