单目操作符

简介: 单目操作符

本篇继续介绍操作符
目录

  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

相关文章
|
4月前
1-6 运算符
1-6 运算符
35 0
|
1月前
运算符
运算符 第一种方式 a=$((2+2)) 第二种方式 b=[表达式] 第三种方式 c=expr 2 + 3
|
Linux Shell Perl
Linux Find命令详解
Linux Find命令详解
357 1
|
4月前
|
C++
c++运算符
c++运算符
43 2
|
4月前
|
算法 程序员 C语言
c运算符介绍
c运算符介绍
36 1
|
4月前
|
C语言
c运算符
c运算符
28 0
|
4月前
|
C++
C++运算符
C++运算符
|
11月前
|
编译器 C语言
C 运算符
C 运算符。
35 0