c语言指针位移运算符,C语言指针运算

C语言指针运算教程

指针变量常用的运算符就是加法和减法运算符,其中,

C语言指针变量运算

语法

p++;

参数

参数

描述

p

指针变量。

说明

我们对指针变量 p 进行了自增操作。

案例

C语言指针变量运算

使用加法或者减法对指针变量进行运算

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

int a = 2021;

int *pa = &a;

long long d = 1099;

long long *pd = &d;

char c = 'a';

char *pc = &c;

printf("before pa = %d, pd = %d, pc = %d\n", pa, pd, pc);

pa = pa+1;

pd = pd+1;

pc = pc+1;

printf("after pa = %d, pd = %d, pc = %d\n", pa, pd, pc);

return 0;

}

程序运行后,控制台输出如下图所示:

95eec21661dfea81145993ea4557a0ef.png

我们首先,定义了三个变量,变量的类型分别为

接着,我们分别将指针变量加 1,最后,我们打印了未加 1 之前的指针变量的值和加 1 之后的指针变量的值,我们可以看到,int 类型的指针变量加了 4,long long 类型的指针变量加了 8, 而 char 类型的指针变量加了 1。

我们可以看到,对指针都进行加 1 操作,但加的具体的数值却是不一样的,而且所加的数值正好等于该指针所指向的变量所占的字节数。

这是因为,如果一个指针指向了

C语言指针移动

使用自增和自减对指针进行移动

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

int a = 2021;

int *pa = &a;

long long d = 1099;

long long *pd = &d;

char c = 'a';

char *pc = &c;

printf("before pa = %d, pd = %d, pc = %d\n", pa, pd, pc);

pa = pa++;

pd = pd++;

pc = pc++;

printf("after pa = %d, pd = %d, pc = %d\n", pa, pd, pc);

pa = pa--;

pd = pd--;

pc = pc--;

printf("last pa = %d, pd = %d, pc = %d\n", pa, pd, pc);

return 0;

}

程序运行后,控制台输出如下图所示:

5808e4395f425b0552e1dbba0c64791a.png

我们可以看到,我们使用自增和自减对指针进行移动,移动的字节数同样是指针所指向的数据类型的字节大小。

C语言指针运算教程总结

在 C 语言中,指针变量保存的是变量的地址,变量的地址本质上也是一个整数,因此,我们可以使用运算符对指针变量进行运算。

指针变量常用的运算符就是加法和减法运算符,其中,自增和自减运算符用的最多。对指针变量进行自增或者自减也叫做指针变量的移动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值