{"id":6798,"date":"2024-03-14T04:41:40","date_gmt":"2024-03-14T04:41:40","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/"},"modified":"2025-08-02T08:18:15","modified_gmt":"2025-08-02T08:18:15","slug":"how-to-return-an-array-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/","title":{"rendered":"C++ Return Array: Complete Guide with Examples"},"content":{"rendered":"<p>In C++, arrays cannot be directly returned as a function&#8217;s return value because the array name degrades to a pointer to the first element of the array. However, you can return an array using pointers or references.<\/p>\n<p>Here is an example of returning an array using pointers:<\/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\">createArray<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> size)<\/span> <\/span>{\r\n    <span class=\"hljs-type\">int<\/span>* arr = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-type\">int<\/span>[size];\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; size; i++) {\r\n        arr[i] = i;\r\n    }\r\n    <span class=\"hljs-keyword\">return<\/span> arr;\r\n}\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> size = <span class=\"hljs-number\">5<\/span>;\r\n    <span class=\"hljs-type\">int<\/span>* arr = <span class=\"hljs-built_in\">createArray<\/span>(size);\r\n    \r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; size; i++) {\r\n        std::cout &lt;&lt; arr[i] &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n    }\r\n    \r\n    <span class=\"hljs-comment\">\/\/ Remember to delete the dynamically allocated array to avoid memory leaks<\/span>\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>Additionally, you can also use references to return arrays, as shown in the following code 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\">void<\/span> <span class=\"hljs-title\">createArray<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span>*&amp; arr, <span class=\"hljs-type\">int<\/span> size)<\/span> <\/span>{\r\n    arr = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-type\">int<\/span>[size];\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; size; i++) {\r\n        arr[i] = i;\r\n    }\r\n}\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> size = <span class=\"hljs-number\">5<\/span>;\r\n    <span class=\"hljs-type\">int<\/span>* arr;\r\n    <span class=\"hljs-built_in\">createArray<\/span>(arr, size);\r\n    \r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; size; i++) {\r\n        std::cout &lt;&lt; arr[i] &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n    }\r\n    \r\n    <span class=\"hljs-comment\">\/\/ Remember to delete the dynamically allocated array to avoid memory leaks<\/span>\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 both cases, an array is dynamically allocated and the address of the array is returned. It is important to note that the dynamically allocated memory must be manually released after use to avoid memory leaks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, arrays cannot be directly returned as a function&#8217;s return value because the array name degrades to a pointer to the first element of the array. However, you can return an array using pointers or references. Here is an example of returning an array using pointers: #include &lt;iostream&gt; int* createArray(int size) { int* arr [&hellip;]<\/p>\n","protected":false},"author":5,"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":[313,274,470,372,299],"class_list":["post-6798","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-arrays","tag-c","tag-functions","tag-pointers","tag-programming"],"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>C++ Return Array: Complete Guide with Examples - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.\" \/>\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-return-an-array-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Return Array: Complete Guide with Examples\" \/>\n<meta property=\"og:description\" content=\"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-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-14T04:41:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T08:18:15+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\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=\"Emily Johnson\" \/>\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-return-an-array-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"C++ Return Array: Complete Guide with Examples\",\"datePublished\":\"2024-03-14T04:41:40+00:00\",\"dateModified\":\"2025-08-02T08:18:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/\"},\"wordCount\":107,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Arrays\",\"c#\",\"Functions\",\"Pointers\",\"programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/\",\"name\":\"C++ Return Array: Complete Guide with Examples - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T04:41:40+00:00\",\"dateModified\":\"2025-08-02T08:18:15+00:00\",\"description\":\"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Return Array: Complete Guide with Examples\"}]},{\"@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\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ Return Array: Complete Guide with Examples - Blog - Silicon Cloud","description":"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.","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-return-an-array-in-c\/","og_locale":"en_US","og_type":"article","og_title":"C++ Return Array: Complete Guide with Examples","og_description":"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T04:41:40+00:00","article_modified_time":"2025-08-02T08:18:15+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"C++ Return Array: Complete Guide with Examples","datePublished":"2024-03-14T04:41:40+00:00","dateModified":"2025-08-02T08:18:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/"},"wordCount":107,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Arrays","c#","Functions","Pointers","programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/","name":"C++ Return Array: Complete Guide with Examples - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T04:41:40+00:00","dateModified":"2025-08-02T08:18:15+00:00","description":"Learn how to return arrays in C++ using pointers and references. Complete guide with code examples for beginners and experts.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-return-an-array-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ Return Array: Complete Guide with Examples"}]},{"@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\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6798","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=6798"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6798\/revisions"}],"predecessor-version":[{"id":151568,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6798\/revisions\/151568"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=6798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=6798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=6798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}