{"id":5883,"date":"2024-03-14T03:31:02","date_gmt":"2024-03-14T03:31:02","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/"},"modified":"2025-08-01T20:47:50","modified_gmt":"2025-08-01T20:47:50","slug":"how-to-use-memcpy-to-copy-an-array-of-structures-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/","title":{"rendered":"C++ memcpy with Arrays of Structures"},"content":{"rendered":"<p>In C++, you can use the memcpy function to copy an array of structs. Here is an example code:<\/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<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;cstring&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-keyword\">struct<\/span> <span class=\"hljs-title class_\">MyStruct<\/span> {\r\n    <span class=\"hljs-type\">int<\/span> id;\r\n    <span class=\"hljs-type\">char<\/span> name[<span class=\"hljs-number\">20<\/span>];\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    MyStruct arr1[<span class=\"hljs-number\">3<\/span>] = {{<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-string\">\"Alice\"<\/span>}, {<span class=\"hljs-number\">2<\/span>, <span class=\"hljs-string\">\"Bob\"<\/span>}, {<span class=\"hljs-number\">3<\/span>, <span class=\"hljs-string\">\"Charlie\"<\/span>}};\r\n    MyStruct arr2[<span class=\"hljs-number\">3<\/span>];\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u4f7f\u7528memcpy\u590d\u5236\u7ed3\u6784\u4f53\u6570\u7ec4<\/span>\r\n    <span class=\"hljs-built_in\">memcpy<\/span>(arr2, arr1, <span class=\"hljs-built_in\">sizeof<\/span>(arr1));\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u6253\u5370\u590d\u5236\u540e\u7684\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; <span class=\"hljs-number\">3<\/span>; i++) {\r\n        std::cout &lt;&lt; <span class=\"hljs-string\">\"id: \"<\/span> &lt;&lt; arr2[i].id &lt;&lt; <span class=\"hljs-string\">\", name: \"<\/span> &lt;&lt; arr2[i].name &lt;&lt; std::endl;\r\n    }\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 the example above, we defined a struct MyStruct with id and name members, then created two struct arrays arr1 and arr2. By using the memcpy function, we copied the data from arr1 to arr2, and printed the copied result.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, you can use the memcpy function to copy an array of structs. Here is an example code: #include &lt;iostream&gt; #include &lt;cstring&gt; struct MyStruct { int id; char name[20]; }; int main() { MyStruct arr1[3] = {{1, &#8220;Alice&#8221;}, {2, &#8220;Bob&#8221;}, {3, &#8220;Charlie&#8221;}}; MyStruct arr2[3]; \/\/ \u4f7f\u7528memcpy\u590d\u5236\u7ed3\u6784\u4f53\u6570\u7ec4 memcpy(arr2, arr1, sizeof(arr1)); \/\/ \u6253\u5370\u590d\u5236\u540e\u7684\u6570\u7ec4 for (int i [&hellip;]<\/p>\n","protected":false},"author":13,"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":[274,6811,328,529,6812],"class_list":["post-5883","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c","tag-memcpy","tag-memory-management","tag-performance-optimization","tag-struct-arrays"],"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++ memcpy with Arrays of Structures - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.\" \/>\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-use-memcpy-to-copy-an-array-of-structures-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ memcpy with Arrays of Structures\" \/>\n<meta property=\"og:description\" content=\"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-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-14T03:31:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-01T20:47:50+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\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=\"Isabella Edwards\" \/>\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-use-memcpy-to-copy-an-array-of-structures-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"C++ memcpy with Arrays of Structures\",\"datePublished\":\"2024-03-14T03:31:02+00:00\",\"dateModified\":\"2025-08-01T20:47:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/\"},\"wordCount\":65,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"c#\",\"memcpy\",\"memory management\",\"Performance Optimization\",\"Struct arrays\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/\",\"name\":\"C++ memcpy with Arrays of Structures - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T03:31:02+00:00\",\"dateModified\":\"2025-08-01T20:47:50+00:00\",\"description\":\"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ memcpy with Arrays of Structures\"}]},{\"@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\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ memcpy with Arrays of Structures - Blog - Silicon Cloud","description":"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.","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-use-memcpy-to-copy-an-array-of-structures-in-c\/","og_locale":"en_US","og_type":"article","og_title":"C++ memcpy with Arrays of Structures","og_description":"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T03:31:02+00:00","article_modified_time":"2025-08-01T20:47:50+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"C++ memcpy with Arrays of Structures","datePublished":"2024-03-14T03:31:02+00:00","dateModified":"2025-08-01T20:47:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/"},"wordCount":65,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["c#","memcpy","memory management","Performance Optimization","Struct arrays"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/","name":"C++ memcpy with Arrays of Structures - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T03:31:02+00:00","dateModified":"2025-08-01T20:47:50+00:00","description":"Learn how to efficiently copy arrays of structures in C++ using memcpy. Complete code example explained.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-memcpy-to-copy-an-array-of-structures-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ memcpy with Arrays of Structures"}]},{"@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\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5883","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=5883"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5883\/revisions"}],"predecessor-version":[{"id":150641,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5883\/revisions\/150641"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=5883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=5883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=5883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}