指针的难点在于它既可以操作指向的数据本身,又可以操作该数据的地址。

书本上对指针的介绍都是从最简单的int类型的指针开始讲解,最近刚开始学习数据结构,被指针绕的晕乎乎的。但是我发现其实最难的就在于指针,因为这与书本上最简单的指针并不一样:

int类型的指针:

定义的时候可以写成这样:

int * p;   或     int * p = 0;    或    int * p = &a;

但是如果把定义和初始化分开写:

int * p;
p = &a;  或 p = NULL;

定义的时候要把 int* 放一起,p就是指针,可以给他赋值地址;使用的时候 单独一个 p 是指针,而*p是取地址。

自定义数据类型的指针:

在链表中会定义一个Node类型的结构体:

struct Node
{int data;Node* next;
};

第一个是数据域,用于存储数据,第二个是指针域,用于指向下一个节点。

做了一个简单的测试:

#include <iostream>
using namespace std;//Node节点
struct Node
{int data;Node* next;
};int main()
{//int 类型指针 测试int a = 10;int* p;p = &a;cout << p << endl;cout << *p << endl;//Node类型指针 测试Node* p1;Node a1;a1.data = 20;a1.next = NULL;p1 = &a1;cout << p1->data << endl;cout << p1 << endl;system("pause");system("cls");
}

测试结果如下:

对于int 类型的指针 p,直接输出p就是地址,而*p是取值,这很容易理解;

对于Node类型的指针p1,直接输出p1是地址,但是p1->data 却是a1->data中的内容。

也就是说,只有p1本身是地址,p1中的内容都是a1中的内容,这就是自定义数据类型的指针与系统数据类型的指针的不同

(我还只是个初学者,第一次尝试写博客也是听从了一些大佬的建议,帮助学习,如有任何不对的地方欢迎批评指正。)

自定义数据类型的指针的含义相关推荐

  1. C/C++:Windows编程—Windows RPC 传递自定义数据类型、自定义数据类型数组、指针数组

    前言 该篇博文不是讲Windows rpc入门的.是笔者在实际使用Windows RPC时 所遇到的问题,以及解决方法. 笔者有这样的需求,需要从RPC Server获取大量数据,而且该数据是动态分配 ...

  2. TVM自定义数据类型

    TVM自定义数据类型 本文将介绍"自定义数据类型"框架,该框架可在TVM中使用自定义数据类型. 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数.这个问题具有长期的行业标准解 ...

  3. 自主数据类型:在TVM中启用自定义数据类型探索

    自主数据类型:在TVM中启用自定义数据类型探索 介绍 在设计加速器时,一个重要的决定是如何在硬件中近似地表示实数.这个问题有一个长期的行业标准解决方案:IEEE 754浮点标准.1.然而,当试图通过构 ...

  4. 【剑仙教程】易语言的结构体。自定义数据类型。

    1楼. [剑仙教程]易语言的结构体.自定义数据类型. 在易语言中,有基本数据类型,自定义数据类型. 自定义数据类型,在C语言/C++中称为结构体.这是面向对象和类的编程. . . 先上代码.打开易语言 ...

  5. 玩转C语言之自定义数据类型-typedef

    玩转C语言之自定义数据类型-typedef 1 引言 引言:在C语言中没有提供字节类型,如果在工程中需要使用表示字节的变量时,该怎么办呢? 我们知道 1 个字节占用 8 个二进制位空间,解决这个问题的 ...

  6. go函数详解:函数定义、形参、返回值定义规范、函数内存分析、不支持重载、支持可变参数、基本数据类型和数组默认都是值传递的、支持自定义数据类型、函数返回值命名

    引入 [1]为什么要使用函数: 提高代码的复用型,减少代码的冗余,代码的维护性也提高了 [2]函数的定义: 为完成某一功能的程序指令(语句)的集合,称为函数. [3]基本语法 func 函数名(形参列 ...

  7. C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历

    写在前面 存放内置数据类型 代码 存放自定义数据类型 代码 总结 写在前面 本文算是B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法(都在代码里了). 存放内置数据类型 以i ...

  8. 易语言 取自定义数据类型的大小

    先说一下易语言的变量储存机制 易语言有基本数据类型和复合数据类型两种 基本数据类型包括:1. 各种整数 2.各种浮点 3. 逻辑值 他们都是储存在栈上的 大小都是固定的 用不着取 复合类型一般储存在堆 ...

  9. C/C++中函数指针的含义(转)

                                 C/C++中函数指针的含义 函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?如果我们有一个int test(int a ...

  10. Qt线程间信号槽传递自定义数据类型(qRegisterMetaType的使用)

    Qt线程间信号槽传递自定义数据类型(qRegisterMetaType的使用) #include <QMetaType> CFileDataModel::CFileDataModel(QO ...

最新文章

  1. JavaScript 定义类时如何将方法提取出来
  2. Eclipse启动时报错
  3. SmartUpload文件上传组件的使用教程
  4. CentOS 7.2安装Jenkins自动构建Git项目
  5. vb发送邮箱连接服务器失败,VB:如何用需要身份验证的SMTP邮件服务器发信
  6. Mac安装RocketMQ和可视化控制台教程
  7. 一文搞懂JVM架构:跳槽面试大厂被拒
  8. notepad多行编辑_Windows 10 UWP 推荐 | 极具现代感的轻量化文本编辑器:Notepads
  9. linux下的pdf分割合并软件
  10. Oracle性能优化
  11. python数学编程中文版_利用python来推数学公式简单版
  12. ssh整合mysql不能自动生成表_ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表...
  13. Android开机启动广播
  14. 光缆厂家介绍OTDR测试仪使用方法(小白必看)
  15. SOUI自定义控件(3)
  16. 2022年,4款值得用的报表工具软件推荐!
  17. 拼多多商家刚开店,哪些行为不能做?
  18. STM32 硬件IIC 锁死及复位问题
  19. 【Java例题】3.6 计算arcsin(x)的值
  20. 「面向对象程序设计-C++」学习笔记(下半部分)

热门文章

  1. 【笔记】感谢《梦幻模拟战》的Unity+Spine资源,同人模式开启
  2. java下载服务器资源
  3. Xshell6、xftp资源,舒服!!(自行下载)
  4. 卸载控制面板(Control Panel)存在的重复程序(CrowdStrike)
  5. ITIL学习笔记——核心流程之:变更管理
  6. Spark入门基本操作
  7. postman安装和安装后双击没反应
  8. 无线通信模块的双卡单待
  9. html下拉列表框跳转,html下拉框跳转问题
  10. 通信算法之三十五:GMSK/MSK/CPFSK/CPM/FSK仿真链路