有人说指针是C语言的灵魂,可见指针的重要性。
下面我们就开门见山。
一、指针定义
指针即地址,指针变量是存储指针的变量。
二、指针的声明
int * p,(表示p变量存储一个int类型变量的地址。)
#include<stdio.h>
void main(){
int i=10;
int * p;
p = &i;
printf("%d,%d",p,i);
}
上图我们可以发现p是存储i变量地址的变量 值为:1638212. 这是内存上的一个地址编码。
三 指针类型
指针有各种复杂的类型,int * ,double * ,int * a[] 数组类型等等
四 常见的指针错误类型
1:指针数据类型不一致
2:指针访问权限有误
(1)
#include<stdio.h>
void main(){
int i=10;
int * p;
p = i;//数据类型不一致
printf("%d,%d",p,i);
}
p变量为指针变量,i为int类型变量,数据类型不一致,不能赋值。
(2)
#include<stdio.h>
void main(){
int i=10;
int * p;
*p = i;//指针变量p没有指向,*p不能赋值
printf("%d,%d",p,i);
}
#include<stdio.h>
void main(){
int i=10;
int * p;
printf("%d,%d",*p,i);//p变量没有赋值,为垃圾值,所以p指向了一个未知的地址,因此我们不能访问这个地址变量所存储的值。
}
指针和指针变量就先讲到这些,接下里一段时间将更新此内容,菜鸟一个,勿喷,请指教