计算机学习DAY 12 - C -定义常量和宏,指针

先上思维导图:

 一、定义常量

代码如下:

#define MAX 10000	//定义常量MAX
#include <stdio.h>

int main()
{

	printf("%d\n", MAX);

	return 0;

}

打印结果就是10000,定义常量就是这么简单

二、定义宏

 代码如下:

#define ADD(X,Y) X+Y
#include <stdio.h>

 
int main()
{
	printf("%d\n", 4 * ADD(2, 3));

	return 0;
}

如果是这样输出,结果是11,那么我们想得到的是20,为什么输出不是呢?因为这个代码计算的是4*2+3而不是4*(2+3),所以,我们要稍微修改一下代码,代码如下:

#define ADD(X,Y) ((X)+(Y))	//加额外的括号是为了使其广义化为表达式
#include <stdio.h>

 
int main()
{
	printf("%d\n", 4 * ADD(2, 3));

	return 0;
}

这样X和Y就广义化为了算式,这样就成功计算出了我们想要的结果,简单,好,next one

二、初识指针

首先,我们要明白:

(1)内存怎么编号?

(2)一个内存单元是多大空间?

首先明白:32位是32根地址线指的是物理线通电后能表示1/0

编号即是地址(一个内存单元大小是2的三十二次方bit,等于0.5G)

电信号转换成数字信息:1和0组成的二进制数列

内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。

代码:

#include <stdio.h>

int main()

{
	int a = 10;
	printf("%p\n", &a);	//%p是打印地址

	int* pa = &a;

	char ch = 'f';
	char* pc = &ch;
	//&取地址*取值
	//指针就是地址
	return 0;
}

a在内存中要分配空间,大小为4个字节

其中pa是用来存放地址的,叫做指针变量

*说明pa是指针变量

int说明pa的执行对象是int类型的

于此同理char说明pc的执行对象是char类型

指针的大小是相同的

 OK结束

相关代码我会放在我的码云上,欢迎交流与学习:C语言学习之路: C语言学习当中做的相关代码 - Gitee.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0XC12EE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值