一:简单数值指针
一个简单的应用:
比较两个数的大小并输出 :
//%%%%比较两个数的大小并输出%%%%// #include<stdio.h> #pragma warning(disable:4996) int a, b; int *P1=&a,*P2=&b; void main() { int temp; a = 3; b = 6; if (a < b) { temp = P1; P1 = P2; P2 = temp; } printf("%d\n%d", *P1, *P2); }
&b:
*P1:
P1=&a:
能理解上面三个东西的含义就差不多了。指针在定义的时候最好给个初值。
指针和指针变量的含义是不同的。P1是指针变量。
二、指针在数组中的使用
可以思考一下P1+i的含义,P1+i可不是单纯的加上一个数i,而是一个单位长度,这个单位长度当然和数据类型有关系了
使用指针的好处就是大大提高了运行效率
#include<stdio.h> #pragma warning(disable:4996) void main() { int i,a[100] = {0}; int *P1= &a; for (i = 0; i < 10; i++) { *(P1 + i)= i; printf("%d\n", *(P1 + i)); }
运行并理解下面这段代码的含义,指针数组差不多就懂了
#include<stdio.h> #pragma warning(disable:4996) void main() { int i,j,a[100] = {0}; int *P1= &a; for (i = 0; i < 100; i=5*i+2) { *(P1 + i)= i; printf("%d\n", *(P1 + i)); } for (j = 0; j<= 99; j++) { printf("a is:%d\n", a[j]); } }