Review) The function of the pointer: the address of the store variable, the indirect operation variable, can be arbitrarily pointed.
A function can abstract a function that is relatively independent, making it an independent entity in the program. Can be reused multiple times in the same program or other program.
The core focus is reusing code.
Meaning: is the basic unit for process programming.
A function completes a basic function.
Two. Function type:
1. Built-in functions: The language is provided by the word system, the user does not need to define, and does not have to make type description in the program; simply include the header file with the function definition before the program;
Note: If you have a header file, you will still not be able to use the link-lm (the pen question in the interview is generally not used by default).
Common built-in functions: Double sqrt (double x) calculates the square root of X
Double pow (double x, double y) calculates the y power of X
Double ceil (double x) to find the smallest integer not less than x, and to display in double form
Double floor (double x) is not greater than the largest integer of x and is displayed in double form
int toupper (int x) if x is lowercase, the corresponding uppercase letter is returned
int tolower (int x) if x is uppercase, the corresponding lowercase letter is returned
int rand (void) produces a random number
2. Custom function: A Programmer's self-written function
return value type function Name argument list function body
The result of the calculation in the function body can be returned to the outside using a return to external use externally can be passed through the parameter list to the function body value.
3. Function declaration
Returns a value type function name parameter list;
Use: When a function is defined after main (), if the function is called in Main (), then the declaration of the function must be added before main ().
4. Invocation of functions
4-1 nested call void Fun_b () {xxxxx;}
void Fun_a () {fun_b (); xxxxx;}
void Main () {fun_a (); xxxxx;}
4-2 recursive invocation (function calls itself)
void Fun_a ()
{
xxxxx
Fun_a ();
xxxxx
}
Characteristics of Recursive functions: (1) Conditions of recursion end (2) recursive formula
Recursive calls generally have if_else
5! =5*4!
1! =1
Pros: Simple and straightforward code
Cons: More resources are consumed during execution
Input:5
Main ()
Fact (5)
A*=fact (4)
A*=fact (3)
A*=fact (2)
A*=fact (1)
return 1;
Hazard: A segment error can occur when the number of recursive layers is greater. Because the resources will be exhausted.
What is the value on the nth bit of the non-Bernard number?
1 1 2 3 5 8 13 31 34 ...
if (1==num| | 2==num)
return 1;
Else
Return Fun (num-1) +fun (num-2)
5. Scope of the variable (scope)
5-1 scope: The effective area of certain things
Local variable: A variable in a function or statement block (called a statement block in curly braces})
Example: 1.int main ()
{
int a;//local variable
}
2.
int fun (int b)//local variable B
{
}
Scope: Variable definition------at the end of the function
Global variables: Variables outside the function
Scope: can be used in any function
Think: What happens if a local variable in a function has the same name as a global variable?
Answer: The local variable overrides the scope of the global variable.
6. The storage type of the variable: static and dynamic.
Auto Automatic variable
int main ()
{
Auto int a;//is equivalent to int A;
}
Register register variable (fast operation)
regitster int i;
for (I=0;i<10000000000;++i)
{
xxxxxxxx
}
Static statically variable
Scope
Local variable definition----return definition---------return
Static local variable----return definition---------program end
Embedded C-language beginner programming with the Tang notes