定义宏和指针

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、define定义常量和宏

1.define 定义常量

//定义标识符常量
#define MAX 1000
int main()
{
	printf("%d的\n",MAX);
	return 0;
}

2.define 定义宏

#define ADD(x,y) x+y
int main()
{
	printf("%d\n",ADD(2,3));
	return 0;
}

宏是可被替换的x的2被替换成4*2的值,
在这里插入图片描述

//把x/y括起来把他们看成两个独立的表达式,再把这个宏体一起括起来,看成一个整体,然后乘4时就会时乘里面相加的结果。
#define ADD(x,y) ((x)+(y))
int main()
{
	printf("%d\n",4*ADD(2,3));
	return 0;
}

二、指针

1.内存

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

2.指针

int main()
{
	int a = 10;
	//a在内存中要分配空间的——4个字节(byte)
	printf("%p\n",&a);//专门打印地址。
	//&a中的&操作符的用法,单目操作符
	int * pa = &a;//pa是用来存放地址的,在C语言中pa就叫指针变量
	//*说明pa是指针变量
	//int 说明pa执行的对象是int类型的
	return 0;
}
int main()
{
	int a = 10;
	int* pa = &a;
	*pa = 20;//*解引用操作(单目操作符)  *pa就是通过pa里面的地址,找到a的地址
	printf("%d\n",a);
	return 0;
}

3.指针变量的大小

int main()
{
	//指针的大小是相同的!
	//指针需要多大空间,取决于地址的存储需要多大空间。
	//32位 32bit——4byte//32的系统指针大小都是4byte
	//64位 64bit——8byte//64的系统指针大小都是8byte
	printf("%d\n",sizeof(char*));
	printf("%d\n",sizeof(short*));
	printf("%d\n",sizeof(int*));
	printf("%d\n",sizeof(long*));
	printf("%d\n",sizeof(float*));
	printf("%d\n",sizeof(double*));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值