summaryrefslogtreecommitdiffhomepage
path: root/c.html.markdown
diff options
context:
space:
mode:
authorDivay Prakash <divayprakash3@gmail.com>2018-10-09 23:10:17 +0530
committerDivay Prakash <divayprakash3@gmail.com>2018-10-09 23:10:17 +0530
commit4311e3866710ed02cef29cd62d66c123b9300f14 (patch)
tree61ff31ae5c23937b9af07fd62712a49f695c983f /c.html.markdown
parentdfd9cd2285de4e39ebdfa49b0d86c9ce6a2afd39 (diff)
Make description of static keyword stronger, closes #2848
Diffstat (limited to 'c.html.markdown')
-rw-r--r--c.html.markdown8
1 files changed, 8 insertions, 0 deletions
diff --git a/c.html.markdown b/c.html.markdown
index bf93dcf5..7975a1c2 100644
--- a/c.html.markdown
+++ b/c.html.markdown
@@ -605,6 +605,14 @@ static int j = 0; //other files using testFunc2() cannot access variable j
void testFunc2() {
extern int j;
}
+// The static keyword makes a variable inaccessible to code outside the
+// compilation unit. (On almost all systems, a "compilation unit" is a .c
+// file.) static can apply both to global (to the compilation unit) variables,
+// functions, and function-local variables. When using static with
+// function-local variables, the variable is effectively global and retains its
+// value across function calls, but is only accessible within the function it
+// is declared in. Additionally, static variables are initialized to 0 if not
+// declared with some other starting value.
//**You may also declare functions as static to make them private**
///////////////////////////////////////