#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
//1.静态数组
int i_arr1[3] = {1, 2, 3};
int size = 3;
int main()
{
//创建数组的三种方法
/*1.静态数组
特点:1.用常量表达式表示数组长度
2.适用于静态内存和自动内存(可在函数内外定义)
*/
int i_arr1[3] = {1, 2, 3};
/*2.变长数组
特点:1.用变量表达式表示数组长度
2.只能在自动内存中使用(只能定义在函数内部)
3.不能在声明数组是对数组初始化
4.不能被static和extern修饰
*/
int i_arr2[size] ;
i_arr2[0] = 1;
/*3.动态数组-malloc
特点:1.不会为对象做初始化
*/
int * ipt;
ipt = malloc(size * sizeof(int));
ipt[0] = 99;
printf("malloc分配的内存:%d===%d\n", *ipt, *(ipt+1) );
/*4.动态数组-calloc
特点:1.会为对象做初始化,初始化为0
*/
int * ipt2 = calloc(3,sizeof(int));
printf("calloc分配的内存:%d===%d\n", *ipt2, *(ipt2+1) );
return 0;
}