指针
- 指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。
指针变量声明的一般形式为:
type *var_name;
- type 是指针的基类型,它必须是一个有效的 C 数据类型,var_name 是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针
int *ip; /* 一个整型的指针 */
double *dp; /* 一个 double 型的指针 */
float *fp; /* 一个浮点型的指针 */
char *ch; /* 一个字符型的指针 */
指针—生活上的理解
- 医生对病人诊断
- 电脑上面的快捷方式
理解
- 指针指向的内容,内容可以做出改变,但是指针不变
- 就像电脑桌面上的快捷方式一样
现实生活中的空指针和野指针
野指针
int * p ;
-
程序这时候会随机分配 , 防止空指针的产生异常
-
没有意义的指向
-
相当于医生疯了,乱找人看病
空指针
- 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针
- NULL 指针是一个定义在标准库中的值为零的常量
代码演示
#include<stdio.h>
int main(void)
{
int sun_flower = 100;
// 相当于创建了快捷方式
int *p = &sun_flower;
printf("sun_flower address = %p\n" , &sun_flower);
// p的输出地址 , p指针 point
printf("p = %p\n" , p);
printf("拿到sun_flower的真实数据 : %d\n" , sun_flower);
// printf("拿到sun_flower的真实数据 : %ls\n" , p);
// 这个就相当于快捷方式
printf("通过指针 (快捷方式) 拿到sun_flower的值: %d\n" , *p);
return 0;
}
输出结果:
sun_flower address = 0x7ffffc09a1bc
p = 0x7ffffc09a1bc
拿到sun_flower的真实数据 : 100
通过指针 (快捷方式) 拿到sun_flower的值: 100
自述
- 不是主学c语言,只是过一遍 , 熟悉一下面向过程语言 , 关于c语言的学习也告知一段落了,后面也会学习一门面向对象语言,准备考试,加油加油加油!!!!!!!!!!
以上笔记内容来源于B站: Micro_Frank