指针与数组
执行下面的代码,将指针指向数组中的第一个元素。
#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;
}