在C语言中如何定义一个不知道位数的一维数组 求代码

2020-07-28 社会 362阅读

我的理解或许和你的原意有所偏差。如果你的意思是创建一个知道内容的数组,但不指定它的大小,那语法是这样:

int arr[] = {1, 2, 3, 4, 5};    // 等同于 int arr[5] = {1, 2, 3, 4, 5};

如果你的意思是“可变大小”,或者在运行时才知道所需大小而编译时不知道,那要在堆上开辟内存:

int n;
scanf("&d", &n);    // 运行时读入元素个数n
int *arr = (int *)malloc(sizeof (int) * n);    // 申请一个大小为n的int数组
....    // 使用arr
free(arr);    // 用完后记得释放内存
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com