C语言动态生成二维数组

# 动态创建二维数组示例

#include "stdlib.h"
#include "stdio.h"
#include <malloc.h>

int main()
{
    int i,j;
    int n; // 这个是需要指定二维数组的行数
    int (*p)[10];

    scanf("%d",&n);// 取得行数

    // 动态生成二维数组,指定列数为10,如果想改,自己修改里面的参数,如果想定义n行2列就为: p=(int (*)[2])malloc(n*2*sizeof(int));

    p=(int (*)[10])malloc(n*10*sizeof(int)); //动态申请n行10列的二维数组

    for(i=0;i<n;i++)
        for(j=0;j<10;j++)
            p[i][j]=i*j;

    for(i=0;i<n;i++)
    {
        for(j=0;j<10;j++)
            printf("%d ",p[i][j]);
        
        printf("\n");
    }
    free(p);

    return 0;
}

posted @   emanlee  阅读(5148)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
历史上的今天:
2012-07-12 没有文件扩展“.vbs”的脚本引擎的解决方案
2009-07-12 设定需求优先级
点击右上角即可分享
微信分享提示