单目操作符

简介: 单目操作符

本篇继续介绍操作符
目录

  1. 单目操作符

6.1 单目操作符介绍
6.2 sizeof 和 数组
6.3 ++ 和 - - 运算符

  1. 关系操作符
  2. 逻辑操作符
  3. 条件操作符
  4. 逗号表达式
  5. 下标引用、函数调用和结构成员

11.1 下标引用
11.2 函数调用
11.3 访问一个结构的成员
总结
)

  1. 单目操作符

6.1 单目操作符介绍
操作符 功能
! 逻辑反操作

  • 负值
  • 正值

& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反

    • 前置,后置- -

++ 前置,后置++

  • 间接访问操作符

(类型) 强制类型转换
代码演示:

include<stdio.h>

int main()
{

int a = -10;
int* p = NULL;
printf("%d\n", !2);
printf("%d\n", !0);
a = -a;
p = &a;
printf("%d\n",sizeof(a));
printf("%d\n", sizeof a);
printf("%d\n", sizeof(int));
//printf("%d\n", sizeof int);报错
return 0;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
运行结果:

可以看出int型长度为4个字节

代码演示:

include<stdio.h>

int main()
{

int a = -10;
printf("%d\n", sizeof a);
printf("%d\n", sizeof int);//报错
return 0;

}
1
2
3
4
5
6
7
8

注意:第七行报错,应输入表达式printf("%d\n",sizeof(int));,不带括号时只可以输入单个字符

6.2 sizeof 和 数组
代码演示:

include <stdio.h>

int main()
{

int a = 0;
int arr[3] = {1,2,3};
char str[] = "hello";
int length=sizeof(arr)/sizeof(int);
int len_a = sizeof(a);
int len_arr = sizeof(arr);
int len_str = sizeof(str);
printf("len_a=%d\n",len_a);
printf("len_arr=%d\n", len_arr);
printf("len_str=%d\n", len_str);
printf("length=%d\n",length);
return 0;

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
运行结果:

可以看出:数组长度=数组占内存空间/单个元素所占空间

6.3 ++ 和 - - 运算符
前置++和- -

代码演示:

include <stdio.h>

int main()
{

int a = 0;
int x = ++a;
int y = --a;
printf("%d\n",x);
printf("%d\n",y);
return 0;

}
1
2
3
4
5
6
7
8
9
10
运行结果:

分析:
在int x = ++a;中,先对a 进行自增,然后使用a,也就是表达式的值是a自增之后的值,同理,int y = --a;中,a先自减,再使用

后置++和- -

先使用a,再增加。即上例int x = ++a;中,先使用 a = 0,再增加 a = 1,即 x = 0 , y = 1

相关文章
|
算法 Linux
linux命令之xz
linux命令之xz
682 1
|
12月前
|
存储 缓存 负载均衡
一致性哈希:解决分布式难题的神奇密钥
一致哈希是一种特殊的哈希算法,用于分布式系统中实现数据的高效、均衡分布。它通过将节点和数据映射到一个虚拟环上,确保在节点增减时只需重定位少量数据,从而提供良好的负载均衡、高扩展性和容错性。相比传统取模方法,一致性哈希能显著减少数据迁移成本,广泛应用于分布式缓存、存储、数据库及微服务架构中,有效提升系统的稳定性和性能。
678 1
|
Java 索引
Java“ArrayIndexOutOfBoundsException”解决
Java中的“ArrayIndexOutOfBoundsException”异常通常发生在尝试访问数组的无效索引时。解决方法包括:检查数组边界,确保索引值在有效范围内;使用循环时注意终止条件;对用户输入进行验证。通过这些措施可以有效避免该异常。
2724 2
|
机器学习/深度学习 运维 计算机视觉
TimesNet:时间序列预测的最新模型
2023年4月发表了一个新的模型,它在时间序列分析的多个任务中实现了最先进的结果,如预测、imputation、分类和异常检测:TimesNet。
1366 0
uniapp中组件库的丰富NumberBox 步进器的用法
uniapp中组件库的丰富NumberBox 步进器的用法
596 0
|
消息中间件 存储 Java
使用Java实现高性能消息队列
使用Java实现高性能消息队列
|
存储 监控 网络安全
Doris Manager 24.0 版本正式发布!
Doris Manager 24.0,SelectDB 的 Apache Doris 集群管理工具,迎来重大更新,包括管控模式升级至安全的 Agent 模式、新增任务审计、主机监控、计算节点部署支持等。此版本已获上千企业用户认可。新特性如 Agent 与 Server 间的 HTTP 通信,提升安全性;任务审计记录操作详情;监控模块扩展主机指标;集群巡检支持定时检查。此外,Doris Manager 提供了集群部署、扩缩容、升级、参数配置、日志查看、告警和审计等一系列高效管理功能。体验新版本,请参考安装和使用手册。
889 0
Doris Manager 24.0 版本正式发布!
|
Java Scala
sbt.internal.inc.CompileFailed: Error compiling the sbt component ‘compiler-interface-2.11.8-61.0‘
IDEA 的 JDK 和 Scala 版本对应不上。 使用 Scala12.1.8配上 JDK8
783 0
|
关系型数据库 数据库
Harbor断电重启postgres报错 could not locate a valid checkpoint record
Harbor断电重启postgres报错 could not locate a valid checkpoint record
|
XML 缓存 前端开发
SpringMVC中处理静态资源的几种方式
SpringMVC中处理静态资源的几种方式
284 0