一、数组和指针之间的关系
1.指针为地址,数组arr也为地址
所以*p=arr;所以可以通过*p来改变数组的数据。
ps:简单来说:
int *p = arr;
*(p+i) == arr[i];2.指针与数组地址的变化
#include<stdio.h>//预编译处理 int main() { int arr[] = { 1,2,3,4,5 }; int* p = arr; p += 1; p += 1; p--;//p-=1; printf("%d", *p ); }
如图:arr=0;arr=p;
p增加了两次,所以arr增加了两次。
最后输出arr=*p=2;
3.return 返回值通常只能返回一个值,通过指针可以返回多个值,用变量的地址来改变变量
#include<stdio.h>//预编译处理 //替换,用指针直接引出来 void Operate(int a, int b, int* sum, int* mul) { *sum = a + b; *mul = a * b; } int main() { int sum, mul; Operate(10, 20, &sum, &mul); printf("%d %d\n",sum,mul); }
4.计算数组的长度,用函数来调用。
指针与数组的关系
最新推荐文章于 2024-05-02 11:05:21 发布