操作符-单目操作符

  • !     反操作符
  • -       减
  • +      加
  • &      取地址操作符
  • ~     
  • --
  • ++
  • *
  • 布尔类型(表示真假类型)

一、操作符用法

  • 反操作符(!)

#include <stdio.h>

int main()
{
	while (!0)
	{
		printf("哈哈\n");
	}
	return 0;
}

这是个死循环,会一直打印“哈哈”,因为!0表示真,0表示假

  • 减(-)

  • 加(+)

  • 取地址操作符(&)

#include <stdio.h>

int main()
{
	int a = 10;
	int* p = &a;
	*p = 20;
	//会改变a的结果,为20
	return 0;
}

取地址操作符会取出对象存在内存中的地址

  • sizeof(计算操作数类型的长度)

int main()
{
	int a = 0;
	int sz1 = sizeof(a);
	int sz2 = sizeof(int);
	printf("%d %d", sz1, sz2);
	return 0;
}

输出的结果是一样的,因为a的类型是int

  • ~(对一个数的补码二进制所有位取反)

补码解释前面文章

https://blog.csdn.net/Xiaodao12345djs/article/details/142370936?spm=1001.2014.3001.5501

  • 减减(--)

1、前置--

注意:先使用再--

int main()
{
	int a = 10;
	//前置--会先--,再使用,也就是a先--变为9后再给c赋值为9
	int c = --a;
	printf("%d %d\n", c, a);
	return 0;
}

c = 9; a = 9;

2、后置--

注意:先--再使用

#include <stdio.h>

int main()
{
	int a = 10;
	//后置--会先使用,再--,也就是c=10后a再-1变为9
	int c = a--;
	printf("%d %d\n", c, a);
	return 0;
}

c = 10; a = 9;

  • 加加(++)

1、前置++

先++再使用

2、后置++

先使用再++ 

间接访问(解引用操作符)(*)

int main()
{
	int a = 10;
	printf("%d\n", a);
	int* sp = &a;
	*sp = 20;
	printf("%d\n", a);
	return 0;
}

打印的结果为10 20

sp为指针,指向a在内存中的地址,*sp相当于a,可以通过改变*sp的值来改变a的值

布尔类型

表示真假类型(C99引入)头文件为   #include  <stdbool.h>

  • _Bool flag=true;    (真)
  • _Bool flag=false;   (假)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值