自定义数据类型的指针的含义
指针的难点在于它既可以操作指向的数据本身,又可以操作该数据的地址。
书本上对指针的介绍都是从最简单的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中的内容,这就是自定义数据类型的指针与系统数据类型的指针的不同
(我还只是个初学者,第一次尝试写博客也是听从了一些大佬的建议,帮助学习,如有任何不对的地方欢迎批评指正。)
自定义数据类型的指针的含义相关推荐
- C/C++:Windows编程—Windows RPC 传递自定义数据类型、自定义数据类型数组、指针数组
前言 该篇博文不是讲Windows rpc入门的.是笔者在实际使用Windows RPC时 所遇到的问题,以及解决方法. 笔者有这样的需求,需要从RPC Server获取大量数据,而且该数据是动态分配 ...
- TVM自定义数据类型
TVM自定义数据类型 本文将介绍"自定义数据类型"框架,该框架可在TVM中使用自定义数据类型. 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数.这个问题具有长期的行业标准解 ...
- 自主数据类型:在TVM中启用自定义数据类型探索
自主数据类型:在TVM中启用自定义数据类型探索 介绍 在设计加速器时,一个重要的决定是如何在硬件中近似地表示实数.这个问题有一个长期的行业标准解决方案:IEEE 754浮点标准.1.然而,当试图通过构 ...
- 【剑仙教程】易语言的结构体。自定义数据类型。
1楼. [剑仙教程]易语言的结构体.自定义数据类型. 在易语言中,有基本数据类型,自定义数据类型. 自定义数据类型,在C语言/C++中称为结构体.这是面向对象和类的编程. . . 先上代码.打开易语言 ...
- 玩转C语言之自定义数据类型-typedef
玩转C语言之自定义数据类型-typedef 1 引言 引言:在C语言中没有提供字节类型,如果在工程中需要使用表示字节的变量时,该怎么办呢? 我们知道 1 个字节占用 8 个二进制位空间,解决这个问题的 ...
- go函数详解:函数定义、形参、返回值定义规范、函数内存分析、不支持重载、支持可变参数、基本数据类型和数组默认都是值传递的、支持自定义数据类型、函数返回值命名
引入 [1]为什么要使用函数: 提高代码的复用型,减少代码的冗余,代码的维护性也提高了 [2]函数的定义: 为完成某一功能的程序指令(语句)的集合,称为函数. [3]基本语法 func 函数名(形参列 ...
- C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历
写在前面 存放内置数据类型 代码 存放自定义数据类型 代码 总结 写在前面 本文算是B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法(都在代码里了). 存放内置数据类型 以i ...
- 易语言 取自定义数据类型的大小
先说一下易语言的变量储存机制 易语言有基本数据类型和复合数据类型两种 基本数据类型包括:1. 各种整数 2.各种浮点 3. 逻辑值 他们都是储存在栈上的 大小都是固定的 用不着取 复合类型一般储存在堆 ...
- C/C++中函数指针的含义(转)
C/C++中函数指针的含义 函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?如果我们有一个int test(int a ...
- Qt线程间信号槽传递自定义数据类型(qRegisterMetaType的使用)
Qt线程间信号槽传递自定义数据类型(qRegisterMetaType的使用) #include <QMetaType> CFileDataModel::CFileDataModel(QO ...
最新文章
- JavaScript 定义类时如何将方法提取出来
- Eclipse启动时报错
- SmartUpload文件上传组件的使用教程
- CentOS 7.2安装Jenkins自动构建Git项目
- vb发送邮箱连接服务器失败,VB:如何用需要身份验证的SMTP邮件服务器发信
- Mac安装RocketMQ和可视化控制台教程
- 一文搞懂JVM架构:跳槽面试大厂被拒
- notepad多行编辑_Windows 10 UWP 推荐 | 极具现代感的轻量化文本编辑器:Notepads
- linux下的pdf分割合并软件
- Oracle性能优化
- python数学编程中文版_利用python来推数学公式简单版
- ssh整合mysql不能自动生成表_ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表...
- Android开机启动广播
- 光缆厂家介绍OTDR测试仪使用方法(小白必看)
- SOUI自定义控件(3)
- 2022年,4款值得用的报表工具软件推荐!
- 拼多多商家刚开店,哪些行为不能做?
- STM32 硬件IIC 锁死及复位问题
- 【Java例题】3.6	计算arcsin(x)的值
- 「面向对象程序设计-C++」学习笔记(下半部分)