#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int arr[10] = { 3,4,2,5,1,6,7,9,8,0 };
int len = sizeof(arr) / sizeof(arr[0]);
int* p = arr;
p = p + 3;
printf("%d\n", *p);
printf("%d\n", p[-1]); //索引可以为负号
printf("sizeof(p) = %d\n", sizeof(p));
printf("sizeof(arr) = %d\n", sizeof(arr));
p = arr;
printf("address(p) = %p\n", p);
printf("address(arr) = %p\n", arr);
printf("address(&arr) = %p\n", &arr);
printf("address(p+1) = %p\n", p + 1); //address(p) + 4 byte
printf("address(arr+1) = %p\n", arr + 1); //address(arr) + 4 byte
printf("address(arr+len) = %p\n", arr + len); //address(arr) + len * 4 byte
printf("address(&arr+1) = %p\n", &arr + 1); //address(arr) + sizeof(arr) byte
system("pause");
return EXIT_SUCCESS;
}
C语言-指针与数组名对应的地址关系
于 2024-08-08 20:12:49 首次发布