C语言指针(test_1_29)

发布于:2024-10-17 ⋅ 阅读:(12) ⋅ 点赞:(0)

C语言指针(test_1_29)

add.c

#define _CRT_SECURE_NO_WARNINGS 1

int a = 200;

int print()
{
	printf("4:    %d\n", a);
}


static int g_val = 2024;


全局变量是具有外部链接属性的
但是被static 修饰后,外部链接属性就变成
 了内部链接属性,只能在自己所在的.c文件中
使用,其他.c文件无法使用



static int Add(int x, int y)
{
	return x + y;
}


函数默认也是具有外部链接属性的
但是函数被static 修饰后,外部链接属性就变成
 了内部链接属性,只能在自己所在的.c文件中
使用,其他.c文件无法使用

test.c

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
	{
		int a = 10;
		printf("1:   %d\n", a);
	}
	printf("2:   %d\n", a);

	return 0;
}

声明外部符号
extern int a;

void test()
{
	printf("2:    %d\n", a);
}

int main()
{
	printf("1:    %d\n", a);
	test();
	printf("3:    %d\n", a);

	return 0;
}


void test()
{
	int b = 0;
	....
}

int main()
{
	{
		int a = 100;
		...
	}
	
	return 0;
}



void test()
{
	static int a = 2;
	a++;
	printf("%d\n", a);
}

int main()
{
	int i = 0;
	for (i = 0; i < 5; i++)
	{
		test();
	}

	return 0;
}


声明外部符号
extern int g_val;

int main()
{
	printf("%d\n", g_val);
	g_val = 200;
	printf("%d\n", g_val);

	return 0;
}


声明外部符号
extern int Add(int x, int y);

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = Add(a, b);
	printf("%d\n", c);

	return 0;
}