Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Comments on What does the static keyword do in C?
Post
What does the static keyword do in C?
+15
−0
What exactly does the static
keyword do in C? I have seen it used in several diverse contexts:
1) As a variable outside a function:
#include <stdio.h>
static int x = 5;
int main (void)
{
printf("%d\n", x);
}
2) As a variable inside a function:
void func (void)
{
static int count=0;
printf("%d\n", count++);
}
3) As part of a function declaration/definition:
static void func (void);
4) As part of a function parameter list containing an array:
void func (int arr[static 5]);
All of these uses seem quite unrelated. What exactly is the purpose of static
in all the above examples?
1 comment thread