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;
}
程序运行后,控制台输出如下图所示:
我们首先,定义了三个变量,变量的类型分别为
接着,我们分别将指针变量加 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;
}
程序运行后,控制台输出如下图所示:
我们可以看到,我们使用自增和自减对指针进行移动,移动的字节数同样是指针所指向的数据类型的字节大小。
C语言指针运算教程总结
在 C 语言中,指针变量保存的是变量的地址,变量的地址本质上也是一个整数,因此,我们可以使用运算符对指针变量进行运算。
指针变量常用的运算符就是加法和减法运算符,其中,自增和自减运算符用的最多。对指针变量进行自增或者自减也叫做指针变量的移动。