指针运算
指针可以加减运算,但不可以乘除运算。
在指针中 p++ 并不是加一,而是以素的值为单位加一,指向下一个单位,加多少字节 要看类型是什么。
在 指针变量名字前面加* 比如(*p) 反向得到*p指向元素的值。
例子1:
char msg[]="hello"; char* p=msg; while (*p != '\0') { printf("%c\n",*p); p++; }
用指针遍历数组
创建一个char类型的数组并初始化赋值“ hello ”
创建一个指针遍历 p 存储数组的首地址(因为指针数组的特殊 所有不用&符号取地址也可以)
whlie循环 如果 *p 不等于 \0 就一直循环
以字符的形式打印 *p 所指向元素的值
p++ ( 在指针中不是加一,而是跳到下一个元素 )
形成循环一直遇到\0才结束循环
例子2:
int marks[]={70,80,95,65}; int* p=marks; printf("%d\n",*p); p++; printf("%d\n",*p);
创建一个int类型的数组初始化并赋值{70,80,95,65}
创建一个int类型的指针变量 p ,把数组的首地址赋值给p(指针数组中可以不用加&符号取地址)
以十进制的形式打印 p 所指向元素的值;
p++ 以元素为单位加一(因为指针类型是int类型,所有一个元素等于4字节)
以十进制的形式打印 p 所指向元素的下一个值;
标签:加一,运算,int,元素,C语言,++,数组,指针 From: https://www.cnblogs.com/xhctd/p/16873008.html