初阶指针知识点总结

c语言中指针的知识点 c语言指针的基础知识点都在这里,可以帮助你更好的了解指针。 立即下载

今天分享一个自己总结的初阶指针知识点:

1.首先什么是指针

指针就是一个变量,用来存放地址的变量,利用他可以找到该地址位置的内存单元,他起一个指向作用,属于一个形象化的定义。

2.一级指针及定义

举例如下:

int a = 10;
int *p = &a;

可以看出指针的定义方式就是: 指针类型 + *
此时的p就是一个指针变量,他存放着a在内存中所处的地址。
指针和变量一样同样具有类型:int,char,float,short,long,double,不同类型的指针对应不同类型的变量的地址。
注:指针大小在32位平台是4个字节,在64位平台是八个字节!

3.指针的解引用

举例如下:

int a = 10;
int* p = &a;
*p = 20;
printf("%d\n",a);

a的运行结果为20,有人可能会有疑惑,a的值不是10么,怎么变成20?
原因是p存着a的地址,所以通过p可以找到a,a中本来存放的值是10,而就是*p这个关键的操作,影响了a的值,因为 *p 表示的是对指针p进行解引用,也就是获取p所存放的该地址位置上的值,*p = 20就解引用获取了a的值并把a的值改为了20,所以再输出a的值时,a的值就变为了20,这是对内存地址上的变量进行了修改是会改变原值的。
注:指针的类型决定了对指针解引用的时候有多大的权限(能操作几个字节)!

4.指针运算

(1)指针±整数
举例如下:

int a = 10;
int*p = &a;
printf("%p\n",p);
printf("%p\n",p+1);

运行结果:arr -> 007CFEB8 arr -> 007CFEBC ,可以看出两个指针的值相差了4刚好一个字节,所以指针±整数就是指针的值(存放的地址)±整数,而加减多少由所指向的变量类型决定。
(2)指针-指针
举例如下:

char* s = "abcde";
char* p = s;
while (*p!='\0')
{
	p++;
}
printf("%d\n",p-s);

运行结果:这个程序我想不难看明白,就是一个求字符串长度的方法,定义一个指针s所指向的字符串abcde,然后让p也指向s,然后while循环就是让p走到字符串的末尾,p-s其实就是计算他们之间有多少个元素。

重点: 在这里补充一个概念就是关于电脑的大小端字节序。
举例如下:

int num = 0x11223344;
char* p = (char*)#
printf("%x\n",*p);
printf("%x\n",*(p+1));

运行结果: 44 33
这种结果的话就是小端字节序,因为11223344来看44是低位,而p是低地址,p+1是高地址,低地址存放低位,高地址存放高位所以是小端字节序。
而如果是相反结果的话那就是大端字节序,低地址存放高位,一般来说大端字节序要遇到的更多一些,因为他也更符合我们的思想,把一个数拆分后,低地址存放高位,高地址存放低位。
所以这就是一个判断电脑大小端字节序的方法!

5.指针和数组名

数组名是什么?
举例如下:

int arr[10] = {1,2,3,4,5,6,7,8,9};
printf("%p\n",arr);
printf("%p\n",&arr[0]);

运行结果:arr和&arr[0]是同一个地址,由此可见数组名表示的就是数组首元素的地址。

6.指针和数组

前面也说了指针和数组名,以及指针±整数的运算,所以有了这两个前提就可以通过一个指针存放数组名,然后指针+ i(i为自己想访问的第几个元素)来访问自己指定想访问的元素,指针+i其实就是计算的是数组下标为i的元素的地址。

7.二级指针

指针也是变量,是变量在内存中就有地址,那指针变量的地址存放在哪里呢?答案当然是二级指针
举例如下:

int a = 10;
int*pa = &a;
int**ppa = &pa;

a的地址存放在pa中,pa的地址存放在ppa中,pa是一级指针,而ppa是二级指针。
当然解引用操作和一级指针一样。

8.指针数组

首先要搞清楚这是数组还是指针,需要看最后两个字是数组,所以这是一个数组。
比如 int* arr[3]
这个数组名为arr,里面有三个元素,每个元素又是一个整形指针。

指针知识点总结.doc 立即下载

相关推荐

带硬约束的物理信息神经网络(PINN with Hard Constraint)示例及代码

本文以一个案例介绍了带硬约束的物理信息神经网络的原理及实现步骤。

m0_72768523的博客 5357

指针——基础知识点归纳总结

指针章节的笔记总结

学习C++的小陈同学 3812

K型热电偶负电压采集难题?3种运放电路设计方案对比(含Multisim仿真)

本文针对K型热电偶在低温测量中产生的负电压采集难题,详细对比了三种运放电路设计方案,包括双电源运放反相放大、单电源仪表放大器和差分放大电路,并结合Multisim仿真数据分析了各方案的性能差异。文章还提供了PCB布局和抗干扰设计的实战技巧,帮助工程师解决热电偶信号采集中的核心挑战。

postgres8guard的博客 1018

c语言指针用法及实际应用详解,通俗易懂超详细!

大家好,我是无际。 今天给大家来讲解一下指针。 我会由浅到深,最后结合实际应用讲解,让大家学会指针的同时,知道大佬们都用指针来干嘛! 长文预警!全文大约5200多字,学指针看这篇文章就够了! 很多人跟我刚学习c语言一样,都害怕指针。 我也是后面做了一些物联网网关才知道,指针是c语言的灵魂这句话真正含义。 没有指针,很多功能实现起来确实很不方便,比如做不到真正的模块化编程。 Ok,废话不多说,下面正式进入主题。 一、通过这篇文章你能掌握以下知识: 指针的相关概念 掌握指针与数组之间的关系

无际单片机编程 1万+

BES平台集成第三方音频算法避坑指南:以声加ENC为例,聊聊文件放置、内存分配与授权那些事

本文详细解析了在BES平台上集成声加ENC降噪算法的全流程,包括技术选型、系统架构设计、内存管理及量产授权等关键环节。特别针对BES平台的双核架构和内存限制,提供了文件放置、内存分配与授权验证的实用解决方案,帮助开发者高效实现音频算法集成。

weixin_33720956的博客 514

手把手教你用Proteus仿真51单片机抢答器:倒计时+蜂鸣器报警完整项目

本文详细介绍了使用Proteus软件仿真51单片机智能抢答器的完整项目流程。通过系统架构设计、核心元件选型(如74LS30用于按键中断编码),结合状态机编程,实现了带可调倒计时、数码管显示和蜂鸣器报警的八路抢答器功能。项目涵盖了从原理图绘制到代码调试的全过程,是学习嵌入式系统开发的绝佳实践。

tcp8optimizer的博客 262

指针的知识点

指针知识

zhen 743

Access查询中的Dlookup函数的妙用

在Microsoft Access中,处理和分析数据的过程中,常常会遇到需要根据条件从其他记录中提取特定数据的情况。这时候,Dlookup函数就成了开发者和数据分析师的得力助手。今天我们将通过一个具体的实例,详细探讨如何利用Dlookup函数来解决复杂的查询问题。

m0_62153576的博客 295

【C语言】指针的基本知识详细讲解(指针数组、数组指针、函数指针....

C语言指针的基本知识详解

小刘好好学习的博客 2万+

从 SAP Gateway 旧 add-ons 卸载到 SAP S/4HANA 转换的清理路线

摘要: SAP Gateway系统的维护难点往往源于历史遗留组件的堆积,而非OData服务本身的复杂性。早期系统为支持多种服务类型而安装的各类add-ons(如IW_SCS、IW_CNT、GW_CORE等),随着系统升级和团队更替逐渐成为技术负债。自SAP NetWeaver 7.40起,核心功能已整合至SAP_GWFND组件,使架构显著简化。在向S/4HANA迁移时,需重点清理已废弃的add-ons(如IW_SCS、IW_GIL等),但必须谨慎验证其关联服务是否仍被调用。组件清理需结合系统日志和调用链分析

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 423

2025华为od机试真题B卷【字符串计数匹配】Java&Go 实现

给你一个字符串str和整数k,返回满足以下条件的所有子字符串个数: 1.恰好包含k个字母。 2.数字0-9各出现至少一次。

MISAYAONE的博客 639

C语言指针知识点大全

数组指针是指针?还是数组?答案是:指针。我们已经熟悉: 整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针应该是:能够指向数组的指针。下面代码哪个是数组指针?//p1, p2分别是什么?解释://解释:p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。//所以p是一个指针,指向一个数组,叫数组指针。//这里要注意:[]的优先级要高于*号的,所以必须加上()来保证p先和*结合。OK!

2302_78964455的博客 3380

Ardupilot chibios IO固件,IO与FMU通信,固件下载(3)

目录 文章目录目录摘要 摘要 本节主要记录自己学习IO与FMU通信

陌城烟雨 2801

6、C 语言指针初阶知识点总结

本文总结了C语言指针的核心知识点。首先介绍了指针基础概念,包括内存地址、基地址和取址符的用法。其次讲解了指针定义与本质,强调指针必须初始化以避免野指针危险。在特殊指针部分,重点区分了野指针和空指针的特性及使用注意事项。最后阐述了指针运算规则,包括指针大小、加减运算及其在数组遍历中的应用。文章特别强调指针安全使用规范,如避免越界访问、及时释放内存等注意事项,为初学者提供了完整的指针知识框架。

weizhigongzi的博客 734

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【【初阶】C语言指针详解——指针必备的7大知识点 - 优快云 App】

【【初阶】C语言指针详解——指针必备的7大知识点 - 优快云 App】

zero2100的专栏 88

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【初阶】C语言指针详解——指针必备的7大知识点

本篇为C指针初阶内容,向大家系统的介绍了C指针的相关内容,希望看完本文能够对C指针有一个更加全面的认识。lets go!

LEE180501的博客 2万+

初阶指针知识点

目录 1. 指针是什么? 2. 指针和指针类型 2.1指针+整数 2.2指针的解引用 3野指针 3.1野指针成因 3.1.1 指针未初始化 3.1.2 指针越界访问 3.1.3 指针指向的空间释放 3.2如何避免野指针 4指针运算 4.1指针+-整数 4.2指针-指针 4.3指针的关系运算 5指针和数组 6二级指针 7指针数组 励志模块 请成为厉害的大人和更可爱的小孩 1. 指针是什么? 指针是什么? 指针理解的2个要点: 1. ...

m0_57388581的博客 629

【C语言】指针初阶知识点

指针基本知识点

moteandsunlight的博客 1184

指针初阶知识点详解

指针是什么? 1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 也就是说,从字面意思来说,指针变量 不等于 指针,但从实质上来说,指针变量 等于 指针 总结: 指针就是地址,口语中说的指针通常指的是指针变量 指针的类型: 当 指针 +- 整数 时: #include <stdio.h> //演示实例 int main() { int n = 10; char *pc = (char*)&n; in

Sky*殇的博客 252

【C语言-17】指针的初阶知识点

要做一个只记得快乐和知识点的girl! 目录: 指针是什么 指针和指针类型 指针运算 指针和数组 二级指针 指针数组 1.指针是什么? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电 脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将 地址形象化的称为“指针”。意...

weixin_44768184的博客 376

初阶指针知识点总结(2)

目录 1:指针的运算 1.1:指针+-整数(前面说过) 1.2:指针减指针 1.3:指针的关系运算 2:指针可以直接访问数组元素 3:二级指针 4:指针数组 1:指针的运算 1.1:指针+-整数(前面说过) 1.2:指针减指针 前提是两个指针指向的是同一个空间 指针减指针得到的数字绝对值代表着两个指针之间元素的个数 #include<stdio.h> int my_strlen(char* p) { char* p1 = p; while (*p !=...

m0_58783923的博客 145

初阶指针知识点总结(1)

数组可以直接通过指针访问 1:指针是什么 因为地址指向了一个具体的内存单元,所以地址又叫做指针,因此指针就是地址,地址就是指针 指针是一个变量,用来存放内存单元的地址 p是用来存放a的地址(指针)的,因此p是一个指针变量 #include<stdio.h> int main() { int a = 10; int* p = &a; printf("%p\n", p); } 2:指针的大小 一个内存单元的大小是1个字节 而指针是地址,地址是二进制序列(32位有3

m0_58783923的博客 165

【c语言】【指针】初阶指针全知识点超详细分类讲解

c语言初阶指针知识点超详细分类讲解

2201_75325836的博客 317

C语言初阶⑦(指针初阶)知识点+笔试题

C语言初阶⑦(指针初阶)知识点+笔试题,本专栏是的C语言知识点和作业,零基础的建议先看上一专栏。

参考书籍:《C语言程序设计》《数据结构》《C++ Primer》《Effective C++》《STL源码剖析》《现代操作系统》《UNIX环境高级编程》《图解TCP/IP》《图解HTTP》《Linux高性能服务器编程》《剑指Offer》《算法导论》 588

【c语言从入门到精通】c语言原来一点都不难!初阶指针知识点限时大放送(上)

指针作为c语言学习过程中必不可少的一个重要部分,对我们后期数据结构等学习具有重要意义。很多初学者面对指针复杂琐碎的知识点不知从何下手,我将会分为初阶和进阶两个部分将指针的知识点进行梳理,本篇为指针初阶的知识点讲解,保证大家看完之后会对指针会拥有更系统和深刻的认识,接下来的博客中也会提供指针与数组相关的一些经典笔试题解析,帮助大家巩固指针知识,保证大家时间从入门到精通!!!下面,请大家坐稳扶好,正文开始啦~~1.指针是什么?在写c语言程序时,无论是创建变量,还是数组等,都要在内存中开辟空间。而。

2301_78320637的博客 240
上一篇: 模拟实现内存函数(memcpy,memmove)
下一篇: 回调函数的应用
Python_programer
博客等级 码龄9年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值