C语言指针运算

指针运算

指针可以加减运算,但不可以乘除运算。

在指针中 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 所指向元素的下一个值;

posted @ 2022-11-09 11:18  秋了个蝉  阅读(393)  评论(0)    收藏  举报