优化了命名
This commit is contained in:
110
C02-数据类型,运算符和表达式/变量/auto.c
Normal file
110
C02-数据类型,运算符和表达式/变量/auto.c
Normal file
@@ -0,0 +1,110 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if 0
|
||||
void func(void)
|
||||
{
|
||||
int x = 0;
|
||||
x = x + 1;
|
||||
printf("%p->%d\n", &x, x);
|
||||
}
|
||||
|
||||
void func1(void)
|
||||
{
|
||||
static int x = 0;
|
||||
x = x + 1;
|
||||
printf("%p->%d\n", &x, x);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
// auto int i;
|
||||
// printf("i=%d\n", i);
|
||||
// out:i=21915,每次都不一样
|
||||
|
||||
// static int i;
|
||||
// printf("i=%d\n", i);
|
||||
// out:i=1
|
||||
|
||||
// func();
|
||||
// func();
|
||||
// func();
|
||||
// out::
|
||||
// 0x7ffc3c4ca4f4->1
|
||||
// 0x7ffc3c4ca4f4->1
|
||||
// 0x7ffc3c4ca4f4->1
|
||||
// 三次地址看着一样
|
||||
// 但是是每次函数开始取用,结束销毁的
|
||||
// 只是gcc刚好都取的栈上同一块地址
|
||||
|
||||
func1();
|
||||
func1();
|
||||
func1();
|
||||
// out::
|
||||
// 0x55fd83c96014->1
|
||||
// 0x55fd83c96014->2
|
||||
// 0x55fd83c96014->3
|
||||
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
int i = 100;
|
||||
|
||||
void func(int i)
|
||||
{
|
||||
printf("i=%d\n", i);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
int i = 3;
|
||||
|
||||
// printf("i=%d\n", i);
|
||||
// out:
|
||||
// i=3
|
||||
|
||||
// {
|
||||
// printf("i=%d\n", i);
|
||||
// }
|
||||
// out:
|
||||
// i=3
|
||||
|
||||
// {
|
||||
// i = 5;
|
||||
// printf("i=%d\n", i);
|
||||
// }
|
||||
// out:
|
||||
// i=5
|
||||
|
||||
// func(i);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
int i = 0;
|
||||
|
||||
void print_star(void)
|
||||
{
|
||||
for (i = 0; i < 5; i++)
|
||||
printf("*");
|
||||
printf("\n");
|
||||
printf("[%s]i=%d\n", __FUNCTION__, i);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
for (i = 0; i < 5; i++)
|
||||
print_star();
|
||||
printf("\n");
|
||||
|
||||
// out:
|
||||
// *****
|
||||
// [print_star] i = 5
|
||||
|
||||
exit(0);
|
||||
}
|
||||
15
C02-数据类型,运算符和表达式/变量/minproj/main.c
Normal file
15
C02-数据类型,运算符和表达式/变量/minproj/main.c
Normal file
@@ -0,0 +1,15 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "proj.h"
|
||||
|
||||
static int i = 10;
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("[%s]i=%d\n", __FUNCTION__, i);
|
||||
// func();
|
||||
call_func();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
17
C02-数据类型,运算符和表达式/变量/minproj/proj.c
Normal file
17
C02-数据类型,运算符和表达式/变量/minproj/proj.c
Normal file
@@ -0,0 +1,17 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "proj.h"
|
||||
|
||||
static int i = 100;
|
||||
|
||||
static void func(void)
|
||||
{
|
||||
printf("[%s]i=%d\n", __FUNCTION__, i);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void call_func(void)
|
||||
{
|
||||
func();
|
||||
}
|
||||
5
C02-数据类型,运算符和表达式/变量/minproj/proj.h
Normal file
5
C02-数据类型,运算符和表达式/变量/minproj/proj.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#ifndef PROJ_H___
|
||||
#define PROJ_H___
|
||||
|
||||
void call_func(void);
|
||||
#endif
|
||||
14
C02-数据类型,运算符和表达式/变量/minproj_extern/main.c
Normal file
14
C02-数据类型,运算符和表达式/变量/minproj_extern/main.c
Normal file
@@ -0,0 +1,14 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "proj.h"
|
||||
|
||||
int i = 10;
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("[%s]i=%d\n", __FUNCTION__, i);
|
||||
func();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
13
C02-数据类型,运算符和表达式/变量/minproj_extern/proj.c
Normal file
13
C02-数据类型,运算符和表达式/变量/minproj_extern/proj.c
Normal file
@@ -0,0 +1,13 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "proj.h"
|
||||
|
||||
extern int i;
|
||||
// extern i;也是可以的,会有警告
|
||||
|
||||
void func(void)
|
||||
{
|
||||
printf("[%s]i=%d\n", __FUNCTION__, i);
|
||||
exit(0);
|
||||
}
|
||||
5
C02-数据类型,运算符和表达式/变量/minproj_extern/proj.h
Normal file
5
C02-数据类型,运算符和表达式/变量/minproj_extern/proj.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#ifndef PROJ_H___
|
||||
#define PROJ_H___
|
||||
|
||||
void func(void);
|
||||
#endif
|
||||
Reference in New Issue
Block a user