{"id":10154,"date":"2024-03-14T11:38:42","date_gmt":"2024-03-14T11:38:42","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/"},"modified":"2025-08-03T19:53:00","modified_gmt":"2025-08-03T19:53:00","slug":"what-is-the-usage-of-the-static-keyword-in-the-c-programming-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/","title":{"rendered":"Static Keyword in C: Usage Explained"},"content":{"rendered":"<p>In the C language, the static keyword can be used to represent two different meanings:<\/p>\n<ol>\n<li>Using the static keyword inside a function: The static keyword can be used to declare variables or functions within a function, in which case it restricts the scope of the variable or function to the source file where they are defined, preventing access from other files. Additionally, static variables persist throughout the program&#8217;s runtime rather than being destroyed after the function call ends.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">foo<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">static<\/span> <span class=\"hljs-type\">int<\/span> counter = <span class=\"hljs-number\">0<\/span>;\r\n    counter++;\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"%d\\n\"<\/span>, counter);\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    foo();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa1<\/span>\r\n    foo();  <span class=\"hljs-comment\">\/\/ \u8f93\u51fa2<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Using the &#8216;static&#8217; keyword before a global variable: The &#8216;static&#8217; keyword can be used to restrict the scope of a global variable, allowing the variable to only be accessed within the source file where it is defined and not by other files.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ file1.c<\/span>\r\n<span class=\"hljs-type\">static<\/span> <span class=\"hljs-type\">int<\/span> global_var = <span class=\"hljs-number\">10<\/span>;\r\n\r\n<span class=\"hljs-comment\">\/\/ file2.c<\/span>\r\n<span class=\"hljs-keyword\">extern<\/span> <span class=\"hljs-type\">int<\/span> global_var;  <span class=\"hljs-comment\">\/\/ \u8fd9\u91cc\u4f1a\u62a5\u9519\uff0c\u56e0\u4e3aglobal_var\u7684\u4f5c\u7528\u57df\u88ab\u9650\u5236\u5728file1.c\u5185<\/span>\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In the C language, the static keyword can be used to represent two different meanings: Using the static keyword inside a function: The static keyword can be used to declare variables or functions within a function, in which case it restricts the scope of the variable or function to the source file where they are [&hellip;]<\/p>\n","protected":false},"author":8,"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":[331,381,12523,12522,9734],"class_list":["post-10154","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c-language","tag-c-programming","tag-programming-fundamentals","tag-static-keyword","tag-variable-scope"],"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>Static Keyword in C: Usage Explained - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.\" \/>\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\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Static Keyword in C: Usage Explained\" \/>\n<meta property=\"og:description\" content=\"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-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-14T11:38:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-03T19:53:00+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\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=\"William Carter\" \/>\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\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"Static Keyword in C: Usage Explained\",\"datePublished\":\"2024-03-14T11:38:42+00:00\",\"dateModified\":\"2025-08-03T19:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\"},\"wordCount\":127,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"C Language\",\"C++ Programming\",\"programming fundamentals\",\"static keyword\",\"Variable scope\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\",\"name\":\"Static Keyword in C: Usage Explained - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T11:38:42+00:00\",\"dateModified\":\"2025-08-03T19:53:00+00:00\",\"description\":\"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Static Keyword in C: Usage Explained\"}]},{\"@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\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Static Keyword in C: Usage Explained - Blog - Silicon Cloud","description":"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.","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\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/","og_locale":"en_US","og_type":"article","og_title":"Static Keyword in C: Usage Explained","og_description":"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T11:38:42+00:00","article_modified_time":"2025-08-03T19:53:00+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"Static Keyword in C: Usage Explained","datePublished":"2024-03-14T11:38:42+00:00","dateModified":"2025-08-03T19:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/"},"wordCount":127,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["C Language","C++ Programming","programming fundamentals","static keyword","Variable scope"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/","name":"Static Keyword in C: Usage Explained - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T11:38:42+00:00","dateModified":"2025-08-03T19:53:00+00:00","description":"Learn how the static keyword controls variable scope and persistence in C programming. Essential guide for developers.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-usage-of-the-static-keyword-in-the-c-programming-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Static Keyword in C: Usage Explained"}]},{"@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\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10154","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=10154"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions"}],"predecessor-version":[{"id":153897,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions\/153897"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=10154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=10154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=10154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}