C语言怎么用变量定义来数组元素个数?

2022-08-03 社会 227阅读

C语言中数组的维数表示数组中元素的个数,在常规数组中维数是必须要指明的,如果没有指明,则必须在初始化列表中给定初始值,编译器通过初始化列表来确定数组的维数。

int a[] = {1,2,3,4};

上面的代码虽然没有指明数组的维数,但是编译知道数组a的维数是4(只有4个元素)。


要实现用变量定义数组的元素个数即维数,可以使用malloc()和free()来进行动态内存分配 。下面是一个使用动态内存的示例:

#include 
#include 
#include 
#include 
int main()
{
    int size;
    printf("输入建立元素的个数:");
    scanf("%d",&size);
    int *p = (int *)malloc(sizeof(int) * size);
    if (p == 0) {
        printf("不能分配内存\n");
        return 0;
    }
 
    //初始化内存
    memset(p, 0x00, sizeof(int) * size);
    //释放内存
    free(p);
    return 0;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com