{"id":15908,"date":"2024-03-15T11:56:56","date_gmt":"2024-03-15T11:56:56","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/"},"modified":"2025-08-06T22:34:30","modified_gmt":"2025-08-06T22:34:30","slug":"how-to-dynamically-create-a-two-dimensional-array-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/","title":{"rendered":"How to dynamically create a two-dimensional array in C+&#8230;"},"content":{"rendered":"<p>In C++, you can dynamically create a two-dimensional array using pointers and dynamic memory allocation. Here is an example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    <span class=\"hljs-type\">int<\/span> rows, cols;\r\n    std::cout &lt;&lt; <span class=\"hljs-string\">\"\u8bf7\u8f93\u5165\u884c\u6570\u548c\u5217\u6570\uff1a\"<\/span>;\r\n    std::cin &gt;&gt; rows &gt;&gt; cols;\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u52a8\u6001\u5206\u914d\u5185\u5b58<\/span>\r\n    <span class=\"hljs-type\">int<\/span>** arr = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-type\">int<\/span>*[rows];\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; rows; i++) {\r\n        arr[i] = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-type\">int<\/span>[cols];\r\n    }\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u521d\u59cb\u5316\u4e8c\u7ef4\u6570\u7ec4<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; rows; i++) {\r\n        <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> j = <span class=\"hljs-number\">0<\/span>; j &lt; cols; j++) {\r\n            arr[i][j] = i * cols + j;\r\n        }\r\n    }\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u6253\u5370\u4e8c\u7ef4\u6570\u7ec4<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; rows; i++) {\r\n        <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> j = <span class=\"hljs-number\">0<\/span>; j &lt; cols; j++) {\r\n            std::cout &lt;&lt; arr[i][j] &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n        }\r\n        std::cout &lt;&lt; std::endl;\r\n    }\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u91ca\u653e\u5185\u5b58<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; rows; i++) {\r\n        <span class=\"hljs-keyword\">delete<\/span>[] arr[i];\r\n    }\r\n    <span class=\"hljs-keyword\">delete<\/span>[] arr;\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In this example, first, obtain the number of rows and columns for the two-dimensional array to be created from the user. Then, use the new operator to dynamically allocate memory to store row pointers. Next, use loops to allocate memory for each row to store column data. Then, the two-dimensional array can be initialized and accessed using loops as needed. Finally, remember to release the dynamically allocated memory after using the two-dimensional array to prevent memory leaks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, you can dynamically create a two-dimensional array using pointers and dynamic memory allocation. Here is an example: #include &lt;iostream&gt; int main() { int rows, cols; std::cout &lt;&lt; &#8220;\u8bf7\u8f93\u5165\u884c\u6570\u548c\u5217\u6570\uff1a&#8221;; std::cin &gt;&gt; rows &gt;&gt; cols; \/\/ \u52a8\u6001\u5206\u914d\u5185\u5b58 int** arr = new int*[rows]; for (int i = 0; i &lt; rows; i++) { arr[i] = new [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[453,1402,299,1404,1403],"class_list":["post-15908","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-guide","tag-programming","tag-technology","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to dynamically create a two-dimensional array in C+... - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to dynamically create a two-dimensional array in C+...\" \/>\n<meta property=\"og:description\" content=\"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T11:56:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T22:34:30+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to dynamically create a two-dimensional array in C+&#8230;\",\"datePublished\":\"2024-03-15T11:56:56+00:00\",\"dateModified\":\"2025-08-06T22:34:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\"},\"wordCount\":105,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Development\",\"guide\",\"programming\",\"technology\",\"tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\",\"name\":\"How to dynamically create a two-dimensional array in C+... - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T11:56:56+00:00\",\"dateModified\":\"2025-08-06T22:34:30+00:00\",\"description\":\"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to dynamically create a two-dimensional array in C+&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to dynamically create a two-dimensional array in C+... - Blog - Silicon Cloud","description":"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/","og_locale":"en_US","og_type":"article","og_title":"How to dynamically create a two-dimensional array in C+...","og_description":"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T11:56:56+00:00","article_modified_time":"2025-08-06T22:34:30+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to dynamically create a two-dimensional array in C+&#8230;","datePublished":"2024-03-15T11:56:56+00:00","dateModified":"2025-08-06T22:34:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/"},"wordCount":105,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Development","guide","programming","technology","tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/","name":"How to dynamically create a two-dimensional array in C+... - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T11:56:56+00:00","dateModified":"2025-08-06T22:34:30+00:00","description":"Learn about how to dynamically create a two-dimensional array in c++?. Comprehensive guide with examples and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-dynamically-create-a-two-dimensional-array-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to dynamically create a two-dimensional array in C+&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=15908"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15908\/revisions"}],"predecessor-version":[{"id":159214,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15908\/revisions\/159214"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=15908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=15908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=15908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}