立即学习:https://edu.csdn.net/course/play/10534/378149?utm_source=blogtoedu
学习目标
- 运算符。
+运算符。
++运算符。
--运算符。
- 运算符
void fun1() {
int a = 10;
int *p = &a;
char c = 'A';
char *pc = &c;
a = a - 1;
printf("a = %d\n", a);
printf("p = %p, *p = %d\n", p, *p);
p = p - 1; // 地址偏移了4 byte = sizeof(int)
printf("p = %p, *p = %d\n", p, *p);
printf("pc = %p, *pc = %c\n", pc, *pc);
pc = pc - 1; // 地址偏移了1 byte = sizeof(char)
printf("pc = %p, *pc = %c\n", pc, *pc);
// - 2
}
// 看视频
+ 运算符
void fun2() {
int a = 10;
int *p = &a;
char c = 'A';
char *pc = &c;
a = a + 1;
printf("a = %d\n", a);
printf("p = %p, *p = %d\n", p, *p);
p = p + 1; // 地址偏移了4 byte = sizeof(int)
printf("p = %p, *p = %d\n", p, *p);
printf("pc = %p, *pc = %c\n", pc, *pc);
pc = pc + 1; // 地址偏移了1 byte = sizeof(char)
printf("pc = %p, *pc = %c\n", pc, *pc);
}
// 看视频
++ 运算符
void fun3() {
int a = 10;
int *p = &a;
// 前++
printf("a = %d\n", ++a);
printf("p = %p, *p = %d\n", p, *p);
++p;
printf("p = %p, *p = %d\n", p, *p);
// --------------------------
a = 10;
p = &a;
printf("a = %d\n", a);
++(*p);
printf("p = %p, *p = %d\n", p, *p);
// 后++
a = 10;
p = &a;
printf("a = %d\n", a);
printf("a++ = %d\n", a++);
printf("p = %p, *p = %d\n", p, *p);
p++;
printf("p = %p, *p = %d\n", p, *p);
printf("----------\n");
a = 10;
p = &a;
printf("a = %d\n", a);
printf("p = %p, *p = %d\n", p, *p);
(*p)++;
printf("p = %p, *p = %d\n", p, *p);
printf("p = %p, *p = %d\n", p, (*p)++);
printf("p = %p, *p = %d\n", p, *p);
}
// 看视频
-- 运算符
void fun4() {
int a = 10;
int *p = &a;
// 前--
printf("a = %d\n", --a);
printf("p = %p, *p = %d\n", p, *p);
--p;
printf("p = %p, *p = %d\n", p, *p);
// --------------------------
a = 10;
p = &a;
printf("a = %d\n", a);
--(*p); // 9
printf("p = %p, *p = %d\n", p, *p);
printf("----------\n");
// 后--
a = 10;
p = &a;
printf("a = %d\n", a);
printf("a-- = %d\n", a--);
printf("p = %p, *p = %d\n", p, *p);
p--;
printf("p = %p, *p = %d\n", p, *p);
printf("----------\n");
a = 10;
p = &a;
printf("a = %d\n", a);
printf("p = %p, *p = %d\n", p, *p);
(*p)--;
printf("p = %p, *p = %d\n", p, *p);
printf("p = %p, *p = %d\n", p, (*p)--);
printf("p = %p, *p = %d\n", p, *p);
}
// 看视频