我是靠谱客的博主 刻苦钢铁侠,最近开发中收集的这篇文章主要介绍C 初始化数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在做leetcode题目217时,编译报错,error: variable-sized object may not be initialized。

定义数组时:数组名[常量表达式],常量表达式中不能有变量,如果n是用户输入的或者是函数参数传递过来的或n是定义的局部变量,都不能 int a[n] = {0}; 这么初始化数组。只有n是常量,比如10才能这么初始化。

我的不完全理解是:编译报错,编译时不知道数组的大小,但编译过程就给数组分配存储空间,所以报错。

bool containsDuplicate(int* nums, int numsSize) {
    if ((nums == NULL && numsSize == 0) || numsSize == 1)
        return false;
    int i, index;
    int arr[numsSize] = {0};
    for (i = 0; i < numsSize; i ++) {
        index = nums[i];
        if (arr[index] == 1)
            return true;
        arr[index] = 1;
    }
    return false;
}
这道题,还想错了。

最后

以上就是刻苦钢铁侠为你收集整理的C 初始化数组的全部内容,希望文章能够帮你解决C 初始化数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部