大家好,又见面了,我是你们的朋友全栈君。
在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;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157676.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...