指针与数组

执行下面的代码,将指针指向数组中的第一个元素。

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int arr[] = {1, 3, 5, 7, 9};
    int *p, *q;
    p = &arr[0];
    q = arr;
    printf("%d\n", *p);
    printf("%p\n", p);
    printf("%d\n", *q);
    printf("%p\n", q);
    return 0;
}

根据指针运算定义,指向数组的指针“加1”意味着指向当前数组元素的下一个元素。

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int arr[] = {1, 3, 5, 7, 9};
    int *p;
    p = arr;
    printf("%d\n", *p);
    printf("%d\n", arr[0]);
    printf("%d\n", *(p + 1));
    printf("%d\n", arr[1]);
    printf("%d\n", *(p + 2));
    printf("%d\n", arr[2]);
    return 0;
}

执行下面的代码,统计字符串的长度。

#include <stdio.h>

int main(int argc, char const *argv[])
{
    char *str = "Hello World!";
    int len = 0;
    for (; *str != '\0'; str++)
    {
        len++;
    }
    printf("%d\n", len);
    return 0;
}

results matching ""

    No results matching ""