C语言一维数组赋值方法
展开全部
一位数组赋值的几种方式
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其结果是给每一个数组元素都指定了初值。
2.部分元素初始化,其余元素均为零。
例:
int
a[10]={7,8,9,67,54};
仅给前5个元素赋初值,后5个元素初值为0。
3.全部元素均初始化为1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允许简写为 int
a[10]={1};或int
b[10]={1*10};
同学们想一想上述定义a和b数组后,初始化结果是什么?
注意:当程序不给数组指定初始值时,编译器作如下处理:
(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。
(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。
4.如果全部元素均指定初值,定义中可省略元素的个数。
例:
int
a[5]={9,28,3,4,5};可以写为:
int
a[
]={9,28,3,4,5};
数组元素的引用
c语言规定,不能整体引用数值数组,只能逐个引用数组元素;
元素引用方式:数组名[下标表达式]
例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
“下标表达式”可以是任何非负整型数据。
特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。
2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其结果是给每一个数组元素都指定了初值。
2.部分元素初始化,其余元素均为零。
例:
int
a[10]={7,8,9,67,54};
仅给前5个元素赋初值,后5个元素初值为0。
3.全部元素均初始化为1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允许简写为 int
a[10]={1};或int
b[10]={1*10};
同学们想一想上述定义a和b数组后,初始化结果是什么?
注意:当程序不给数组指定初始值时,编译器作如下处理:
(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。
(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。
4.如果全部元素均指定初值,定义中可省略元素的个数。
例:
int
a[5]={9,28,3,4,5};可以写为:
int
a[
]={9,28,3,4,5};
数组元素的引用
c语言规定,不能整体引用数值数组,只能逐个引用数组元素;
元素引用方式:数组名[下标表达式]
例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
“下标表达式”可以是任何非负整型数据。
特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。
2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。
展开全部
1、初始化时进行赋值。
int a[2] = {1,2};
char str[20] = "hello world"; 2、逐个赋值
int a[4];
a[0] = 1,a[1]=2, a[2] = 3, a[4]=4; 等同于。
for (int inx=0; inx!=4; ++inx) a[inx]=inx+1; 3、通过函数复制数据以实现赋值
比如下面的代码,通过memcpy函数来实现数据的复制,以实现数组赋值的功能。
#include
#include
#include
int main()
{
int inx;
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int b[5];
//复制4个元素,b[4]将是随机值
memcpy(b, a, 4 * sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
memcpy(b, a+4, 5 * sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
return 0;
}
int a[2] = {1,2};
char str[20] = "hello world"; 2、逐个赋值
int a[4];
a[0] = 1,a[1]=2, a[2] = 3, a[4]=4; 等同于。
for (int inx=0; inx!=4; ++inx) a[inx]=inx+1; 3、通过函数复制数据以实现赋值
比如下面的代码,通过memcpy函数来实现数据的复制,以实现数组赋值的功能。
#include
#include
#include
int main()
{
int inx;
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int b[5];
//复制4个元素,b[4]将是随机值
memcpy(b, a, 4 * sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
memcpy(b, a+4, 5 * sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
i,a[10];
for(i=0;i<10;i++)
cin>>a[i];
这样可以用键盘赋值。输入时可以以空格或回车作为分隔符
i,a[10];
for(i=0;i<10;i++)
cin>>a[i];
这样可以用键盘赋值。输入时可以以空格或回车作为分隔符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询