Home > Article > Backend Development > The meaning of void in c language
The meaning of void in C language
1. The meaning of void:
Recommended: "c Language Tutorial"
void literally means "typeless", void * is an "untyped pointer", and void * can point to any type of data.
void almost only has the function of "commenting" and limiting the program, because no one has ever defined a void variable. Let's try to define it:
void a;
This line of statement will cause an error when compiling, Prompt "illegal use of type 'void'". However, even if void a compiles without errors, it has no practical meaning.
2. Rules for using void:
Rule 1: If the function has no return value, it should be declared as void type
In C language, no return value is added Type-qualified functions will be treated by the compiler as returning integer values. But many programmers mistakenly think that it is a void type. For example:
add ( int a, int b ) { return a + b; } int main(int argc, char* argv[]) { printf ( "2 + 3 = %d", add ( 2, 3) ); }
The result of running the program is output: 2 3 = 5, which shows that the function without return value description is indeed an int function.
Rule 2: If the function has no parameters, then its parameters should be declared as void.
Declare a function like this in C language:
int function(void) { return 1; } 则进行下面的调用是不合法的: function(2); 因为在C++中,函数参数为void的意思是这个函数不接受任何参数。在Turbo C 2.0中编译: #include "stdio.h" fun() { return 1; } main() { printf("%d",fun(2)); getchar(); }
compiles correctly and outputs 1. This shows that in C language, any type of parameters can be passed to a parameterless function, but Compiling the same code in a C compiler will give an error. In C, you cannot pass any parameters to a parameterless function, and the error message "'fun' : function does not take 1 parameters" will appear.
So, whether in C or C, if the function does not accept any parameters, you must specify that the parameters are void.
3. Specific usage examples of void:
Define function
返回值 函数名(参数1,参数2,参数3,.......) {内容} int sum(int a,int b) { int c; return c;}
The first int is the return value, which is the one given by this function when another function calls this function. value.
If no return value is required when calling, the function is written as
void sum(int a, int b){....} At this time, the function has no return value
If no parameters are required, then int sum (void) {...}
The meaning of void at this time is empty, which means there are no parameters
If no parameters are required, it is void sum(void );
For more programming-related content, please pay attention to the Introduction to Programming column on the php Chinese website!
The above is the detailed content of The meaning of void in c language. For more information, please follow other related articles on the PHP Chinese website!