指针学习笔记(更新中)

本文介绍了C语言中指针的基本概念,包括指针的类型、指针变量的声明与初始化,以及如何使用NULL初始化指针。通过示例解释了指针的指针和解引用操作,展示了指针作为地址进行运算的特性。同时,探讨了指针赋值时带星号与不带星号的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.指针也分类型,有啥类型的数据,就有啥类型的指针。eg:int p; int *p;
2.指针存放的数据的地址,所以指针变量会有eg:
int var_runoob = 10;
int *p; // 定义指针变量
p = &var_runoob;
这种写法。

3.初始化指针可以用NULL来赋值
eg:
#include <stdio.h>

int main ()
{
int *ptr = NULL;

printf(“ptr 的地址是 %p\n”, ptr );

return 0;
}

4.指针的指针和对指针*p的理解:
指针的指针相当于是套娃,*p 按%d输出会输出的的值,就是指向那个地址存放的值;
*P按%p输出会输出地址。
#include <stdio.h>

int main ()
{
int V;
int *Pt1;
int **Pt2;

V = 100;

/* 获取 V 的地址 */
Pt1 = &V;

/* 使用运算符 & 获取 Pt1 的地址 */
Pt2 = &Pt1;

/* 使用 pptr 获取值 */
printf(“var = %d\n”, V );
printf(“Pt1 = %p\n”, Pt1 );
printf("*Pt1 = %d\n", *Pt1 );
printf(“Pt2 = %p\n”, Pt2 );
printf("**Pt2 = %d\n", **Pt2);

return 0;
}

5.指针的运算,int p; p++;
就这种运算对应的是地址,而加的时候不要带星号(

6.指针让我觉得烦的一个地方在于,*p=地址,p=s 不带星就可以赋值啊,运算啥的,带星只能等于地址,这点我是真的不适应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值