#define _CRT_SECURE_NO_WARNING
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main01()
{
int arr1[9] = { 0 };
memset(arr1, 0, sizeof(arr1));
typedef int(MYARR)[9];
MYARR arr2;
printf("arr2 :%d arr2+1:%d\n", arr2, arr2 + 1);
printf("&arr2:%d &arr2+1:%d\n", &arr2, &arr2 + 1);
printf("\n");
system("pause");
return 0;
}
int main()
{
int arr1[9] = { 1,2,3,4,6,7 };
//1 先定义数组类型,再定义数组类型的指针,
typedef int(ArrType)[9];
ArrType * a1;
a1 = &arr1;
//a1 = arr1;//a1[i]结果都一样,步长是确定的
int i = 0;
for (i = 0; i < 9; i++)
{
//printf("%d ", a1[i]);
printf("%d ", *((*a1) + i));
}
printf("\n");
printf("------------------------\n");
//2 定义数组指针类型
typedef int(*pArrType)[9];
pArrType a2;
a2 = &arr1;
for (i = 0; i < 9; i++)
{
printf("%d ", (*a2)[i]);
//printf("%d ", *((*a2) + i));
}
printf("\n");
printf("------------------------\n");
//3 定义数组指针变量
int(*pType)[9];//pType是一个变量
pType = &arr1;
//printf("%d %d %d %d\n", pType, *pType, &arr1, arr1);//地址一样
//printf("%d\n", *(int*)(pType));//结果为1
for (i = 0; i < 9; i++)
{
//printf("%d ", (*pType)[i]);
printf("%d ", ((int*)pType)[i]);
//printf("%d ", *((*pType) + i));
}
printf("\n");
system("pause");
return 0;
}
数组类型 数组指针类型 数组指针变量
最新推荐文章于 2023-01-04 10:18:10 发布