
C Programming: Functions, Scope, Arrays, and Strings
Functions and Scope
Functions in C encapsulate a set of instructions. You define a function to perform specific tasks and call it to execute those tasks.
Defining and Calling Functions
Example of a simple function definition and how to call it:
int add(int a, int b) {
return a + b;
}
int result = add(3, 5); // result will be 8
Function Prototypes
Prototypes declare the function's existence before its actual definition:
int add(int a, int b); // Function prototype
Function Arguments and Return Values
Arguments are passed by value. To modify values, use pointers:
void modify(int *x) {
*x = 100;
}
Scope of Variables
Variables in C can be local or global:
int globalVar = 10; // Global variable
void exampleFunction() {
int localVar = 20; // Local variable
}
Recursion
Recursive functions call themselves to solve problems:
int factorial(int n) {
if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}
Arrays and Strings
Arrays
Arrays store multiple elements of the same data type:
int numbers[5]; // Array of 5 integers
int numbers2[3] = {1, 2, 3}; // Initialized array
Accessing Array Elements
Index notation starts at 0:
int value = numbers[0]; // Accesses the first element
Strings
Strings are arrays of characters:
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char message[] = "Welcome";
String Functions
Standard library functions for string manipulation:
char str1[10] = "Hello";
char str2[10] = "World";
int length = strlen(str1); // Length of str1
strcpy(str1, str2); // Copy str2 to str1
Input and Output of Strings
Read and write strings using standard I/O functions:
char name[20];
printf("Enter your name: ");
scanf("%19s", name); // Reads up to 19 characters
Functions and scope in C allow for modular code with local and global variable scopes, along with recursion for solving repetitive tasks. Arrays and strings provide data structures and string manipulation functions essential for many applications.
Continue exploring C programming with practice exercises and further resources:
0 Comments: