函数其他内容
This commit is contained in:
parent
c371e8f6a7
commit
a575016375
|
@ -0,0 +1,6 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.c
|
|
@ -0,0 +1,59 @@
|
|||
#include <stdio.h>
|
||||
|
||||
void myfun1();
|
||||
void myfun2(int a, int b);
|
||||
int myfun3(int a, int b);
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// 函数的调用
|
||||
// 没有参数也没有返回值
|
||||
// 直接写函数名,并且要在后面加括号
|
||||
myfun1();
|
||||
|
||||
printf("*********************\n");
|
||||
|
||||
// 有参数,没有返回值
|
||||
// 需要在函数名右边括号中传入参数,参数可以是常量表达式,也可以是变量表达式
|
||||
myfun2(100, 90);
|
||||
|
||||
int x = 10, y = 20;
|
||||
// x、y:实参,实际参数,本质就是在函数调用的时候将实参的值传递给形参
|
||||
myfun2(x, y);
|
||||
|
||||
printf("*********************\n");
|
||||
|
||||
// 有参数也有返回值
|
||||
// 可以使用一个变量接收函数执行结果(返回值),或者直接输出也可以
|
||||
int n;
|
||||
n = myfun3(100, 90);
|
||||
printf("n = %d\n", n);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void myfun1()
|
||||
{
|
||||
printf("hello world\n");
|
||||
printf("nihao beijing\n");
|
||||
printf("welcome to 1000phone\n");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// a、b:形参,形式参数,主要用于保存实参传递的值,本质跟实参没有任何关系,只是值传递
|
||||
void myfun2(int a, int b)
|
||||
{
|
||||
int sum;
|
||||
sum = a + b;
|
||||
|
||||
printf("%d + %d = %d\n", a, b, sum);
|
||||
}
|
||||
|
||||
int myfun3(int a, int b)
|
||||
{
|
||||
int sum;
|
||||
sum = a + b;
|
||||
|
||||
return sum;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.c
|
|
@ -0,0 +1,23 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// 定义一个普通全局变量
|
||||
// 只要是在main函数外(也在子函数外)的变量,就是全局变量
|
||||
// 如果全局变量没有进行初始化,则系统自动将其初始化为0
|
||||
int num;
|
||||
|
||||
// 全局变量可以在程序的任意一个位置进行对其的操作
|
||||
void myfun()
|
||||
{
|
||||
num = 666;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
printf("num = %d\n",num);
|
||||
|
||||
myfun();
|
||||
|
||||
printf("num = %d\n",num);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.c
|
|
@ -0,0 +1,21 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// 定义一个静态全局变量
|
||||
// 静态全局变量只能在其定义的.c文件中任意位置使用,不能跨文件使用
|
||||
static int num;
|
||||
|
||||
void myfun()
|
||||
{
|
||||
num++;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
printf("num = %d\n", num);
|
||||
|
||||
myfun();
|
||||
|
||||
printf("num = %d\n", num);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.c
|
|
@ -0,0 +1,24 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// 定义一个局部变量
|
||||
// 在函数内部定义的,不加任何修饰的变量都是局部变量
|
||||
void myfun()
|
||||
{
|
||||
int num = 100;
|
||||
num++;
|
||||
|
||||
printf("num = %d\n", num);
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// 局部变量只能在定义的函数内部使用,生命周期相对较短,函数结束,局部变量就会释放
|
||||
// printf("num = %d\n", num);
|
||||
myfun();
|
||||
myfun();
|
||||
myfun();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.c
|
|
@ -0,0 +1,36 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// 定义一个静态局部变量
|
||||
// 在函数内部定义的使用static修饰的变量就是静态局部变量
|
||||
|
||||
void myfun()
|
||||
{
|
||||
// 如果普通局部变量不进行初始化,则默认是随机值
|
||||
// 如果静态局部变量不进行初始化,则默认是0
|
||||
int a; // 普通局部变量
|
||||
static int num; // 静态局部变量
|
||||
|
||||
printf("a = %d\n", a);
|
||||
printf("num = %d\n", num);
|
||||
}
|
||||
|
||||
void myfun1()
|
||||
{
|
||||
// 静态局部变量不会随着当前函数执行结束而释放空间,下次使用的还是之前的空间
|
||||
// 静态局部变量只会初始化一次
|
||||
static int num = 100;
|
||||
num++;
|
||||
|
||||
printf("num = %d\n", num);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
myfun();
|
||||
|
||||
myfun1();
|
||||
myfun1();
|
||||
myfun1();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue