#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
#include <stdlib.h> /* qsort */
int main()
{
//sizeof(数组名)-数组名表示整个数组的-计算的是整个数组的大小
//&数组名-数组名表示整个数组,取出的是整个数组的地址
//除此之外其它,所有的数组名都是首元素的地址
int a[] = { 1,2,3,4 };
printf("%d\n", sizeof(a));//16 //16
printf("%d\n", sizeof(a+0));//4 //8
printf("%d\n", sizeof(*a));//4 //4
printf("%d\n", sizeof(a+1));//4 //8
printf("%d\n", sizeof(a[1]));//4 //4
printf("---------------------\n");
printf("%d\n", sizeof(&a));//4 //8
printf("%d\n", sizeof(*&a));//16 //16
printf("%d\n", sizeof(&a+1));//4 //8
printf("%d\n", sizeof(&a[0]));//4 //8
printf("%d\n", sizeof(&a[0]+1));//4 //8
//字符数组
char arr[] = { 'a','b','c','d','e','f' };
printf("---------------------\n");
printf("%d\n", sizeof(arr)); //6 //6
printf("%d\n", sizeof(arr+0)); //4 //8
printf("%d\n", sizeof(*arr)); //1 //1
printf("%d\n", sizeof(arr[1])); //1 //1
printf("%d\n", sizeof(&arr)); //4 //8
printf("%d\n", sizeof(&arr+1)); //4 //8
printf("%d\n", sizeof(&a[0] + 1));//4 //8
printf("-----------------------\n");
printf("%d\n", strlen(arr)); //随机值
printf("%d\n", strlen(arr+0)); //随机值
printf("%d\n", strlen(*arr)); //报警
printf("%d\n", strlen(arr[1])); //报警
printf("%d\n", strlen(&arr)); //随机值
printf("%d\n", strlen(&arr+1)); //随机值
printf("%d\n", strlen(&arr[0]+1));//随机值
return 0;
}