一、数组不可以被赋值
数组一旦声明之后,是不可以修改的,只有数组中的元素是可以被修改的
#include<stdio.h>
int main()
{
int arr1[]={1,2,3};
int arr2[]={7,8,9};
arr1=arr2;
return 0;
}
二、指针可以被赋值
指针可以通过赋值指向其他内存空间
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p1,*p2;
p1=malloc(4);
p2=malloc(4);
*p1=1;
*p2=2;
printf("%d %d\n",*p1,*p2);
p1=p2;
printf("%d %d\n",*p1,*p2);
return 0;
}
三、指针可以用数组的形式访问
指针可以用数组的形式 [ ] 访问
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
p=malloc(8);
*p=1;
*++p=2;
p--;
printf("%d ",*p);
printf("%d\n",*++p);
p--;
printf("%d %d\n",p[0],p[1]);
return 0;
}
四、指针可以指向数组
数组可以赋值给指针,也就是指针可以指向数组的内存空间
#include<stdio.h>
int main()
{
int arr[]={1,2};
int *p;
p=arr;
printf("%d\n",*p);
printf("%d\n",*++p);
return 0;
}