数组传递,可以用循环语句,一个元素一个元素赋值,也可用指针赋值.
还有方法是内存块复制:
void
*memcpy(void
*s1,
const
void
*s2,
size_t
n)
1.整型值赋值给整型数组:int value=2//定义一个变量,并赋值
int array[10]//定义一个数组
array[0]=value//将变量值赋值给该数组。
2.整型值赋值给字符数组:
int value=3;
char str[10]
str[0]=value+'0'//赋值给单个字符
itoa(value,str,10)//数字转字符串函数itoa,10代表十进制。要包含头文件<stdio.h>
3.字符赋值给整型数组
char ch
int array[10]
array[0]=atoi(ch)
仅举上例。
有两种方法可以实现。
为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。
int a[4] = {1,2,3,4}, b[4]
1、 通过数组遍历,逐个赋值。
定义循环变量int i
for(i = 0i <4i ++)
b[i] = a[i]
该程序功能为遍历数组a,逐个赋值到数组b对应元素中。
2、 借助内存复制函数memcpy,整体赋值。
void *memcpy(void *dst, void *src, size_t size)
这个函数的功能为将src上,大小为size字节的数据赋值到dst上。
调用该函数时需要引用头文件cstring,即
#include <cstring>
赋值数组的代码为
memcpy(b,a,sizeof(a))
扩展资料:
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的,但是在C99标准中,加入了对VLA的支持,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了。
参考资料来源:百度百科-数组