一、
定义:指针是一种数据类型,表示可以操作内存的一种能力;
存储类型 数据类型 * 指针变量名 = 初始化地址;
指针占用8个字节,跟DOUBLE一样
//变量类型 变量名;—>int a ;
//格式:变量类型 *变量名;—>int *p ;
//定义了一个指针变量P
//指针变量只能存储地址
//指针只有一个作用:能够根据一个地址值,访问对应的存储空间
int *p;
int a=98;
p=&a;//地址赋值
*p=20;//访问,修改p指向的空间的值
a=10;
printf(“%d”,*p);//访问,取指针p指向的空间的值
//巧用null,NULL
二、
int ages[5];
int *p;
p=ages;
1.数组元素的访问方式
1>数组名【下标】 ages[i]
2>指针变量名【下标】p[i] —>x=p[i];
3>*(p+i) —>printf(“%d”, *(p+i));
三、
int a=10;
int *p=&a;
int **pp=&(*p);
int ***ppp=&(**p);
四、指针与数组
int age[5]={1,2,3,4,5};
int *ass=age;
for (int i=0; i<5; i++)
{
printf("%d ",*(ass+i));
for (int i=0; i<5; i++)
{
printf("%d ",*(ass+i));
}
五、//利用指针使调用函数输出多个值
#include<stdio.h>
int sumAndcha(int n1,int n2,int *n3);
int main()
{
int a=10,b=7;
int he,cha;
he=sumAndcha(a,b,&cha);
printf(“和是%d,差是%d”,he,cha);
return 0;
}
int sumAndcha(int n1,int n2,int *n3)
{
*n3=n1-n2;
return n1+n2;
}