Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arguments | Functions
C Basics

book
Arguments

Functions can be thought of as mini-factories, taking raw materials and transforming them into various products. Similarly, functions process input data. The input for a function is termed as arguments or parameters.

Recalling the structure of a function:

python
func_type func_name(arguments_placeholder)
{
// the core functionality of the function
block_of_code;

// the resulting outcome after function execution
return function_output;
}

arguments_placeholder is the spot where you list the function's arguments.

As an example, we'll design a function to convert degrees to radians:

c

Main

copy
#include <stdio.h>

// my function for conversion degrees to radians

double degreesToRadians(double degree) // *double degree* is argument
{
double rads = (degree * 3.14) / 180;

return rads; // output of function
}

int main()
{
double degree = 30;

// We immediately print the result of our function
printf("30 degrees equals %.2f radians\n", degreesToRadians(degree));

return 0;
}
1234567891011121314151617181920
#include <stdio.h> // my function for conversion degrees to radians double degreesToRadians(double degree) // *double degree* is argument { double rads = (degree * 3.14) / 180; return rads; // output of function } int main() { double degree = 30; // We immediately print the result of our function printf("30 degrees equals %.2f radians\n", degreesToRadians(degree)); return 0; }

Scope

Imagine a function call as a portal into a separate, self-contained realm where specific actions take place. Objects birthed in this realm exist solely there, and once the realm ceases to exist, so do they.

For instance, if we declare a variable inside a function, it remains inaccessible from outside that function. The sole piece of information we can extract from a function's execution is what we retrieve using the return statement.

Arguments

Functions can take a variety of arguments: basic data types (like int, char, double), arrays/strings, pointers (teaser!), and even other functions.

It's also important to note that the names of the arguments within the function might differ from the actual data you're passing into it.

python
int exampleFunc(int inputVar)
{
return result;
}

The variable int inputVar lives only within the scope of the function, acting as a placeholder for the data we want to feed into the function. However, the data types of both the arguments and the actual data passed to the function must align.

Now, let's script a function that pinpoints the largest element in an array:

c

Main

copy
#include <stdio.h>

int findMaxElement(int arr[]) // 1
{
int max = arr[0]; // 2

for (int i = 1; i < 5; i++) // 3
{
if (arr[i] > max) // 3
{
max = arr[i]; // 4
}
}

return max;
}

int main()
{
int array[] = { 10, 5, 7, 14, 3 };

int maxElement = findMaxElement(array);

printf("Max element is: %d\n", maxElement);

return 0;
}
123456789101112131415161718192021222324252627
#include <stdio.h> int findMaxElement(int arr[]) // 1 { int max = arr[0]; // 2 for (int i = 1; i < 5; i++) // 3 { if (arr[i] > max) // 3 { max = arr[i]; // 4 } } return max; } int main() { int array[] = { 10, 5, 7, 14, 3 }; int maxElement = findMaxElement(array); printf("Max element is: %d\n", maxElement); return 0; }

Here's the algorithm:

  1. Pass the array into the function;

  2. The function labels any chosen array element as "max" (regardless of its actual value);

  3. A loop within the function then examines every element, contrasting it with "max";

  4. If any new element is bigger than "max", then that element takes the "max" title.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt