首页 > 编程知识 正文

c语言字符数组赋值,C++数组初始化

时间:2023-05-05 13:09:59 阅读:114490 作者:4935

c语言的数组初始化

在c语言中,有两种初始化方法。 是一维数组。

方式1

int arr[20];

在该方式中,在c语言的编译阶段,在对数分量中分配了固定的存储器空间,但在没有给c语言分配值的情况下,在打印该数组时输出随机数字。

方式2

intarr [ ]={ 2,3,4,5,6,7,8 };

同样,在编译阶段给数组分配连续的内存空间,但此时的长度如果不写,由给定元素的个数程序自己决定。

综上所述,在c语言中,如果使用以上方法初始化数组,则在编译阶段将确定数组长度。 也就是说,排列长度一定。 看看下面的例子。

int size=20;

int arr[size];

编译上面的代码将报告错误,指示数组初始化有问题。 这是因为编译器不知道数组的大小,也无法分配内存,从而导致错误。

那么,用c语言实现数组大小动态调整的方法是什么呢? 我们知道c语言数组是内存中连续的内存空间,其中指针指向第一个元素,即第一个元素的地址。 验证一下:

int a[20]={1};

printf(%d(n ),*a ); //输出1等效于printf(%d(n ),a[0] );

因此,用指针方式动态生成数组,实现如下

int size=20;

int*a=(int* ) malloc ) * sizeof (int ) size );

首先定义指针,然后利用malloc函数分配连续的内存空间。 这里与数组的实现相同。 用指针方式,动态地创建了数组。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。