笔记3.0

目录

关键字

常量和宏

​编辑

指针

结构体


关键字

1.C语言提供的关键字,不能自己创建关键字

2.变量名不能是关键字‘

 -extern 声明外部符号

-register int num = 100;//建议将num存放到寄存器中(计算机中数据可以存储到网盘,硬盘 内存,高速缓存,寄存器 这几个存储大小从大到小,但是依次造价越高,速度越快)

-signed 有符号的,

-union 联合体(共用体)

-typedef 类型重定义> unsighed int u_int>输入u_int 即相当于输入了 unsighed int

-static 静态的,1.修饰局部变量 2.修饰全局变量 3.修饰函数

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
void test() 
{
	int a = 1;
	a++;
		printf("%d", a);
}
int main() 
{
	//register int num = 100;//建议将num存放到寄存器中
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

此时输出10个2,

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
void test() 
{
	static int a = 1;
	a++;
		printf("%d", a);
}
int main() 
{
	//register int num = 100;//建议将num存放到寄存器中
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

则会打印出234567891011 (static 修饰a时,每次在出他的范围外后重新进入范围时,不再被销毁,而是保留重新被赋予的值,意味着static修饰的局部变量,可以使得局部变量生命周期变长)

 static修饰全局变量时,使得这个全局变量只能在自己所在源文件内部使用,其他源文件不可使用。   (全局变量可以在其他源文件内部使用,是因为全局变量具有外部链接属性)

static 修饰全局函数也是同理

define 和 include 不是关键字,而是预处理指令。

常量和宏

define 1.定义常量 2.定义宏

 define定义宏是用替换的方式,如图得到4*2+3 即11

若要得到20 则需要#define ADD(X,Y) ((X)+(Y))

指针

引入:内存 

 指针的含义

#include<stdio.h>
int main()
{
	int a = 10;//内存中分配4个字节
	printf("%p\n", &a);//%p是专门用来打印地址的
	int * pa = &a;//pa是用来存放地址的,在C语言中pa叫是指针变量
	//*说明pa是指针变量
	//int说明pa执行的对象是int类型的
	char ch = 'w';
	char* pc = &ch;
	return 0;
}
#include<stdio.h>
int main()
{
	int a = 10;
int* pa = &a;
*pa = 20;//*pa解引用操作 *pa就是通过pa里边的地址,找到a
printf("%d\n", a);
		return 0;
}

即是通过找地址的方式重新赋予a的值

指针变量即是用来存放别人地址的,通过解引用符找到操作对象进行操作。

指针的大小

指针大小是相同的的!

指针是用来地址的,指针需要多大空间,取决于地址的存储需要多大空间

32位-32bit-4byte

64位-64bit-8byte 

结构体

用于使C语言有描述复杂对象的能力(创建新的类型)

#include<stdio.h>
//创建学生类型
struct stu
{
	char name[20];
	int age;
	double score;
};
};
int main()
{
	struct stu s = { "张三",20,85.5 };//结构体的创建和初始化
	printf("1:%s %d %f\n", s.name, s.age, s.score);//结构体变量.成员变量
	struct stu* ps = &s;
	printf("2:%s %d %1f\n", (*ps).name, (*ps).age, (*ps).score);
	printf("3:%s %d %1f\n", ps->name, ps->age, ps->score);
	return 0;
}

结构体指针->成员变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值