C语言学习笔记【4】

笔记接续上回,常用关键字。

1 static

 

2 define定义常量和宏

3 初识指针

4 结构体

 

 附学习代码

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//void test()
//{
//	static int a = 1;
//	a = a + 1;
//	printf("%d ", a);
//}
//
//int main()
//{
//	int i = 0;
//	while (i < 10)
//	{
//		test();
//		i++;
//	}
//	return 0;
//}

//extern 是用来声明外部符号的

//extern int g_val;
//
//int main()
//{
//	printf("%dn", g_val);
//
//	return 0;
//}

//声明来自外部的函数
//extern int Add(int x, int y);
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int ret = Add(a, b);
//	printf("%dn", ret);
//
//	return 0;
//}

//
//int main()
//{
//	int a = 10;
//	int ch;
//
//	return 0;
//}
//

//#define 定义常量

//#define MAX 1000
//
//#define STR "hello bit"
//
//int main()
//{
//	//int m = MAX;
//	//printf("%dn", m);
//	printf("%sn", STR);
//	return 0;
//}


//函数的实现
//int get_max(int x, int y)
//{
//	//int z = 0;
//	//z = (x > y ? x : y);
//	//return z;
//
//	return (x > y ? x : y);
//}

//#define 定义宏
//#define MAX(x, y) ((x)>(y)?(x):(y))
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//
//	//int m = get_max(a, b);
//	int m = MAX(a+2, b/3);
//
//	printf("较大值:%dn", m);
//
//	return 0;
//}


//int main()
//{
//	int a = 10;//4byte
//	//%p - 地址的打印
//	printf("%pn", &a);
//
//	return 0;
//}

//内存单元都有编号,这个编号就是地址,我们把这个地址也叫指针

//int main()
//{
//	int a = 10;
//	int* pa = &a;//pa 是用来存放地址的,所以我们把pa叫指针变量
//	*pa = 100;
//	printf("%dn", a);//100
//
//	char ch = 'w';
//	char * pc = &ch;//& 取地址操作符
//	*pc = 'q';//* 解引用操作符,它的意思就是通过pc中存放的地址,找到pc指向的内容。
//	printf("%cn", ch);//q
//
//	return 0;
//}

//int main()
//{
//	char ch = 'w';//0x0012ff48
//	int a = 10;   //0x0012ff40
//
//	int* pa = &a;
//	char* pc = &ch;
//
//	printf("%dn", sizeof(pa));//4
//	printf("%dn", sizeof(pc));//4
//
//	//32位平台 指针大小是4个字节
//	//64位平台 指针大小是8个字节
//
//	return 0;
//}


//结构体

//类型
typedef struct Stu
{
	char name[20];//名字-字符串
	int age;      //年龄 - 整数
	char sex[5]; //性别 - 字符串
	char id[20];//学号 - 字符串
}Stu;

void Print(struct Stu* ps)
{
	//printf("%s %d %s %sn", (*ps).name, (*ps).age, (*ps).sex, (*ps).id);
	printf("%s %d %s %sn", ps->name, ps->age, ps->sex, ps->id);
	//-> 结构成员访问操作符
	//结构体指针->结构体成员
}

int main()
{
	//结构体变量
	struct Stu s1 = {"张三", 18, "男", "2021060701"};//学生1
	struct Stu s2 = {"如花", 45, "女", "2021060702"};//学生2
	Stu s3 = {0};

	//输入结构体数据
	scanf("%s %d %s %s", s1.name, &(s1.age), s1.sex, s1.id);

	//直接打印的
	printf("%s %d %s %sn", s1.name, s1.age, s1.sex, s1.id);
	//. 结构成员访问操作符
	//结构体变量.结构体成员
	
	//使用函数打印
	Print(&s2);
	return 0;
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇

)">
下一篇>>