{"id":28301,"date":"2024-03-16T10:05:17","date_gmt":"2024-03-16T10:05:17","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/"},"modified":"2024-03-22T13:07:25","modified_gmt":"2024-03-22T13:07:25","slug":"how-is-the-static-keyword-used-in-the-c-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/","title":{"rendered":"How is the &#8220;static&#8221; keyword used in the C language?"},"content":{"rendered":"<p>In the C language, the static keyword serves two main purposes:<\/p>\n<ol>\n<li>unmoving<\/li>\n<\/ol>\n<p>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;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">test<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">static<\/span> <span class=\"hljs-type\">int<\/span> count = <span class=\"hljs-number\">0<\/span>;\r\n    count++;\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"count: %d\\n\"<\/span>, count);\r\n}\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    test();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1acount: 1<\/span>\r\n    test();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1acount: 2<\/span>\r\n    test();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1acount: 3<\/span>\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, every time the test function is called, the value of count will increase and retain the result from the previous call. This is because count is declared as static, so it does not get destroyed after the function execution.<\/p>\n<ol>\n<li>unchanging<\/li>\n<\/ol>\n<p>Here is an example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ file1.c<\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">static<\/span> <span class=\"hljs-type\">int<\/span> count = <span class=\"hljs-number\">0<\/span>;\r\n\r\n<span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">increment<\/span><span class=\"hljs-params\">()<\/span> {\r\n    count++;\r\n}\r\n\r\n<span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">display<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"count: %d\\n\"<\/span>, count);\r\n}\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ file2.c<\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-keyword\">extern<\/span> <span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">increment<\/span><span class=\"hljs-params\">()<\/span>;\r\n<span class=\"hljs-keyword\">extern<\/span> <span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">display<\/span><span class=\"hljs-params\">()<\/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    increment();\r\n    increment();\r\n    display();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1acount: 2<\/span>\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 example, count is declared as static, so it can only be accessed in file1.c. In file2.c, the increment and display functions can be declared using the extern keyword, and then called in the main function to manipulate and display the value of count.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the C language, the static keyword serves two main purposes: unmoving Here is an example: #include &lt;stdio.h&gt; void test() { static int count = 0; count++; printf(&#8220;count: %d\\n&#8221;, count); } int main() { test(); \/\/ \u8f93\u51fa\uff1acount: 1 test(); \/\/ \u8f93\u51fa\uff1acount: 2 test(); \/\/ \u8f93\u51fa\uff1acount: 3 return 0; } In the example above, every time [&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-28301","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 is the &quot;static&quot; keyword used in the 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-is-the-static-keyword-used-in-the-c-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How is the &quot;static&quot; keyword used in the C language?\" \/>\n<meta property=\"og:description\" content=\"In the C language, the static keyword serves two main purposes: unmoving Here is an example: #include &lt;stdio.h&gt; void test() { static int count = 0; count++; printf(&quot;count: %dn&quot;, count); } int main() { test(); \/\/ \u8f93\u51fa\uff1acount: 1 test(); \/\/ \u8f93\u51fa\uff1acount: 2 test(); \/\/ \u8f93\u51fa\uff1acount: 3 return 0; } In the example above, every time [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-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-16T10:05:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T13:07:25+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-is-the-static-keyword-used-in-the-c-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How is the &#8220;static&#8221; keyword used in the C language?\",\"datePublished\":\"2024-03-16T10:05:17+00:00\",\"dateModified\":\"2024-03-22T13:07:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/\"},\"wordCount\":122,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/\",\"name\":\"How is the \\\"static\\\" keyword used in the C language? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T10:05:17+00:00\",\"dateModified\":\"2024-03-22T13:07:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How is the &#8220;static&#8221; keyword used in the 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 is the \"static\" keyword used in the 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-is-the-static-keyword-used-in-the-c-language\/","og_locale":"en_US","og_type":"article","og_title":"How is the \"static\" keyword used in the C language?","og_description":"In the C language, the static keyword serves two main purposes: unmoving Here is an example: #include &lt;stdio.h&gt; void test() { static int count = 0; count++; printf(\"count: %dn\", count); } int main() { test(); \/\/ \u8f93\u51fa\uff1acount: 1 test(); \/\/ \u8f93\u51fa\uff1acount: 2 test(); \/\/ \u8f93\u51fa\uff1acount: 3 return 0; } In the example above, every time [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T10:05:17+00:00","article_modified_time":"2024-03-22T13:07:25+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-is-the-static-keyword-used-in-the-c-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How is the &#8220;static&#8221; keyword used in the C language?","datePublished":"2024-03-16T10:05:17+00:00","dateModified":"2024-03-22T13:07:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/"},"wordCount":122,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/","url":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/","name":"How is the \"static\" keyword used in the C language? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T10:05:17+00:00","dateModified":"2024-03-22T13:07:25+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-static-keyword-used-in-the-c-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How is the &#8220;static&#8221; keyword used in the 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\/28301","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=28301"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28301\/revisions"}],"predecessor-version":[{"id":62589,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28301\/revisions\/62589"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=28301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=28301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=28301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}