指针

https://www.bilibili.com/video/BV1MJ411D7EX?from=search&seid=10400155575475579131

 

内存中的每个地址对应一个字节,每个字节分配一个32位或者64位的地址编号

char占一个字节

int占四个字节

1字节(byte)=8位(bit)

 

当占用多个字节时,第一个字节的编号为该类型变量的地址编号

取地址:

int num=6;
printf("%p\n", &num);

 

 

 

指针变量:

定义一个变量,存放每个地址的编号,这个变量叫做指针变量

int num = 6; //定义一个int类型 占四个字节
int *p; //定义一个int类型的指针变量 占四个字节 *代表定义的这个变量是指针变量
p = #  //将num取地址,赋值给指针变量

printf("num=%d\n",num); //6
printf("*p=%d\n",*p); //6  *代表 取p表示的地址中的内容

任何类型的指针变量都占4给字节 

自身的类型:将变量名拖黑,剩下啥类型 指针变量就是啥类型  上面p自身的类型就是int *

 

指向的类型:将变量名和离它最近的一个*一起拖黑,剩下啥类型 指针变量就是啥类型  上面p指向的类型就是int

作用:决定了指针变量+1跳过的单位跨度

int 4个字节

short 2个字节

char 1个字节

 

 

 

 

const

const char* p;  声明一个指向字符或字符串常量的指针,p所指向的内容为const类型不可修改

char const *p;  同上

char * const p;  声明一个指向字符或字符串的指针常量,即不可以修改p的值,也就是地址无法修改。

https://www.cnblogs.com/zhangjiansheng/p/7421225.html

 

posted @ 2020-04-30 18:13  xyfun72  阅读(160)  评论(0编辑  收藏  举报