函数其他内容

This commit is contained in:
flykhan 2023-06-04 03:09:34 +08:00
parent c371e8f6a7
commit a575016375
10 changed files with 193 additions and 0 deletions

View File

@ -0,0 +1,6 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c

View File

@ -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;
}

View File

@ -0,0 +1,6 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c

View File

@ -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;
}

View File

@ -0,0 +1,6 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c

View File

@ -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;
}

View File

@ -0,0 +1,6 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c

View File

@ -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;
}

View File

@ -0,0 +1,6 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.c

View File

@ -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;
}