定义的指针没有指向具体的地址是没有意义的。
*p
一个变量的地址称为该变量的指针
一个变量专门用来存放另一变量的地址(指针),则它称为指针变量
指针变量只能存放一个地址(指针),不要将一个整数赋给一个指针变量。如:* pointer_1=100; 这是错误的
定义一个指针*p
*p和p之间的关系是什么?
*p是指向的变量。p是变量的地址。
int a;
int *p=&a; 定义一
int *p; 定义二
p=&a;
*的用法:
1.用来指示变量时指针变量
2.运算,将地址中的值取出来。
一个变量有:值和地址。
一个变量的访问方式有:直接访问(直接访问变量名) 。 间接访问(通过对变量的地址来访问)
指针变量:存放其他变量地址的变量。也是一个变量。
这个变量的值是一个地址。
字符指针:
野指针: char *p; 不对p赋值,则为野指针,此时p指向的地址是未知的。
18行,处理野指针。
总结:
1.引入指针要注意 内存分配问题。指针指向某段空间,不做初始化,对其操作,产生段错误。
普通变量,在声明的时候系统自动分配内存。
- 要时刻记着指针指向的位置。对应的位置。指针的移动 对应的 内存位置不一样。