0
点赞
收藏
分享

微信扫一扫

const和assert修饰代码

晴儿成长记 2023-06-22 阅读 41

一、const

1.简介

const是constant的缩写,译为恒定不变/定值。定义变量时在前面用const声明,使变量无法改变。

int main() {
	const int i = 1;
	i++;
	printf("%d\n", i);
	return 0;
}

执行上述代码会报错,表示const修饰变量无法更改。

const和assert修饰代码_assert

2.const修饰指针变量

(1)const放在 * 左边修饰

int main() {
	int i = 1;
	const int* p = &i;  //对于*p,可把*看作解地址符,p是i的地址,那*p其实就是i本身。所以const放在*左边,代表不能通过*p来修改i,但p本身可以改变
	*p = 9;
	printf("%d\n", i);
	printf("%p\n", p);
	return 0;  //报错,无法修改*
}

const和assert修饰代码_assert_02


int main() {
	int i = 1;
	const int* p = &i; 
	p = 9;
	printf("%d\n", i);
	printf("%p\n", p);
	return 0; //没报错,成功把p修改为9
}

const和assert修饰代码_const_03

(2)const放在 * 右边修饰

int main() {
	int i = 1;
	int* const p = &i;  //const修饰指针p, p本身不能改变
	p = 9; //报错
	*p = 9; //不报错,可以通过*p修改i
	printf("%d\n", i);
	printf("%p\n", p);
	return 0;
}

二、assert

assert断言,如果括号中的表达式结果为真,则代码继续进行;如果为假,则终止代码,并且报错。

需要引用头文件<assert.h>

int main() {
	int i = 0;
	scanf("%d", &i); //必须输入非0数,输入0会报错,并终止程序
	assert(i !=0);
	return 0;
}

const和assert修饰代码_assert_04

举报

相关推荐

0 条评论