{"id":26946,"date":"2024-03-16T07:37:43","date_gmt":"2024-03-16T07:37:43","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/"},"modified":"2024-03-22T09:49:40","modified_gmt":"2024-03-22T09:49:40","slug":"how-to-define-the-size-of-an-array-using-variables-in-c-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/","title":{"rendered":"How to define the size of an array using variables in C language?"},"content":{"rendered":"<p>In C language, the size of an array must be a constant expression and cannot be defined using a variable. This is because arrays require memory allocation at compile time, while variable values can only be determined at runtime, making it impossible to use variables to define the size of an array.<\/p>\n<p>If you need to determine the size of an array based on the value of a variable, you can use dynamic memory allocation. You can achieve this by using the malloc function to dynamically allocate memory and using the variable&#8217;s value to determine the size of the allocation. Below 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;stdio.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdlib.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">int<\/span> size;\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u8bf7\u8f93\u5165\u6570\u7ec4\u7684\u5927\u5c0f\uff1a\"<\/span>);\r\n    <span class=\"hljs-built_in\">scanf<\/span>(<span class=\"hljs-string\">\"%d\"<\/span>, &amp;size);\r\n    \r\n    <span class=\"hljs-type\">int<\/span> *<span class=\"hljs-built_in\">array<\/span> = (<span class=\"hljs-type\">int<\/span>*) <span class=\"hljs-built_in\">malloc<\/span>(size * <span class=\"hljs-keyword\">sizeof<\/span>(<span class=\"hljs-type\">int<\/span>));\r\n    \r\n    <span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-built_in\">array<\/span> == <span class=\"hljs-literal\">NULL<\/span>) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u5185\u5b58\u5206\u914d\u5931\u8d25\\n\"<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;\r\n    }\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        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u8bf7\u8f93\u5165\u7b2c%d\u4e2a\u5143\u7d20\u7684\u503c\uff1a\"<\/span>, i+<span class=\"hljs-number\">1<\/span>);\r\n        <span class=\"hljs-built_in\">scanf<\/span>(<span class=\"hljs-string\">\"%d\"<\/span>, &amp;<span class=\"hljs-built_in\">array<\/span>[i]);\r\n    }\r\n    \r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u6570\u7ec4\u7684\u5143\u7d20\u4e3a\uff1a\"<\/span>);\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        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"%d \"<\/span>, <span class=\"hljs-built_in\">array<\/span>[i]);\r\n    }\r\n    \r\n    <span class=\"hljs-built_in\">free<\/span>(<span class=\"hljs-built_in\">array<\/span>);\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 above code, the size of the array was first obtained from the user, and memory space of corresponding size was dynamically allocated using the malloc function. Then, a loop structure was used to obtain the values of the array elements from the user input. Finally, the elements of the array were outputted and the memory space previously allocated was freed using the free function.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C language, the size of an array must be a constant expression and cannot be defined using a variable. This is because arrays require memory allocation at compile time, while variable values can only be determined at runtime, making it impossible to use variables to define the size of an array. If you need [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-26946","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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 define the size of an array using variables in C language? - Blog - Silicon Cloud<\/title>\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-define-the-size-of-an-array-using-variables-in-c-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to define the size of an array using variables in C language?\" \/>\n<meta property=\"og:description\" content=\"In C language, the size of an array must be a constant expression and cannot be defined using a variable. This is because arrays require memory allocation at compile time, while variable values can only be determined at runtime, making it impossible to use variables to define the size of an array. If you need [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\" \/>\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-16T07:37:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T09:49:40+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\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=\"Sophia Anderson\" \/>\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-define-the-size-of-an-array-using-variables-in-c-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How to define the size of an array using variables in C language?\",\"datePublished\":\"2024-03-16T07:37:43+00:00\",\"dateModified\":\"2024-03-22T09:49:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\"},\"wordCount\":185,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\",\"name\":\"How to define the size of an array using variables in C language? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:37:43+00:00\",\"dateModified\":\"2024-03-22T09:49:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to define the size of an array using variables in C language?\"}]},{\"@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\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to define the size of an array using variables in C language? - Blog - Silicon Cloud","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-define-the-size-of-an-array-using-variables-in-c-language\/","og_locale":"en_US","og_type":"article","og_title":"How to define the size of an array using variables in C language?","og_description":"In C language, the size of an array must be a constant expression and cannot be defined using a variable. This is because arrays require memory allocation at compile time, while variable values can only be determined at runtime, making it impossible to use variables to define the size of an array. If you need [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:37:43+00:00","article_modified_time":"2024-03-22T09:49:40+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How to define the size of an array using variables in C language?","datePublished":"2024-03-16T07:37:43+00:00","dateModified":"2024-03-22T09:49:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/"},"wordCount":185,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/","name":"How to define the size of an array using variables in C language? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:37:43+00:00","dateModified":"2024-03-22T09:49:40+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-define-the-size-of-an-array-using-variables-in-c-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to define the size of an array using variables in C language?"}]},{"@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\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26946","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\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=26946"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26946\/revisions"}],"predecessor-version":[{"id":61145,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26946\/revisions\/61145"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=26946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=26946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=26946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}