1,初级指针
什么是指针?
指针就是编程语言中的对象,它的值直接指向存在电脑存储器中的一个地址。
#include <stdio.h>
int main()
{
int a = 10;
int * p; //p是指针变量 , 指针就是变量用来存放地址的变量
p = &a ; //拿到的是a 的四个字节中的第一个字节的地址
//*p 的值就是10;
int * p1;
char *p2;
double *p3;
float * p4 ;
printf("%d\n",sizeof(p1));
printf("%d\n",sizeof(p2));
printf("%d\n",sizeof(p3));
printf("%d\n",sizeof(p4));
/**
指针的大小,就是一个指针变量占用多少内存空间。
指针是存放一个变量的地址,而不是变量本身。所以不管指针指向什么类型变量,它的大小是固定的,只要放下一个地址就行!
所以存放一个地址需要的字节为4。
*/
}
2,指针中*P ,P,&P三者区别?
1.指针和指针变量是两个不同的概念,通常说的时候就把指针变量称为指针
2.指针就是地址,地址就是指针,它是一个整数,它的大小取决于电脑系统类别。
3.指针变量就是一个变量,只不过存放的内容为地址 。如 int *P ,这个P是指针类型,它的值存的是地址。
定义一个 指针变量 如 int * P。
1. p : p是一个指针变量的名字,表示此指针变量指向的内存地址,如果用%p输出的话,是一个16进制的数
2. *p : *p表示此指针变量所指向内存中的内容。
3. &p: & 是取地址运算符,&p就是取指针p 的地址。
4. p和&p 的区别在于p也是一个变量,因为是变量,所以要分配内存,而&p表示的是指针变量p的内存地址。