指针-数据结构 Triplet &T 中的&是什么意思

问题描述

数据结构 Triplet &T 中的&是什么意思 10C
#include ""Common.h""
#define ElemType int

typedef ElemType * Triplet;//由InitTriplet分配3个元素存储空间

//--------------基本操作的函数,及说明----------------
Status InitTriplet(Triplet &T ElemType v1 ElemType v2 ElemType v3);
//操作结果:构造了三元组T元素e1e2和e3的值分别被赋以参数v1,v2,v3的值。

triplet 相当于 int*  那么Triplet &T不就是 int* &T 了吗? 要是int* T 还好理解,就是定义了一个指向整型的指针。求解答

解决方案

你是不是可以理解为指针的地址呢?本人不是很了解C++只是给你一个想法

解决方案二:
Triplet &T
这里是引用,改变引用会反映到实参上。

将指针作为引用,那么实参可以得到一个由函数内产生的指针(不通过返回值)。一般我们希望函数内分配内存,或者创建对象,我们一般就这么做。

解决方案三:
这个你可以看看相关的语法书籍对照着看看不就知道了

解决方案四:
指针引用,相当于二级指针,等于就是你函数除了可以修改指针指向的内容,还可以修改指针本身

解决方案五:
int* &T 这条语句在c语言中是不能够被语法支持的,因为c语言中没有引用的概念,所以他只能出现在c++语法中,下面我将阐述我的观点,第一点:c++中引用的概念。引用指的是变量的别名,改变引用就等于改变实参本身,关于引用其他概念请体温会者自己去查阅相关c++书籍。第二点:#define与typedef的区别,前者是宏定义,程序预编译(预处理)的时候进行替换,没有任何语法检查;而typedef是具有类型转定义的功能,所以尽量少用并且慎用#define(例如在有括号的时候)。

解决方案六:
Triplet &T 就是相当于 (nt*) &T;
所以:
Status InitTriplet(Triplet &T ElemType v1 ElemType v2 ElemType v3)
{
T[0] = v1;
T[1] = v2;
T[2] = v3;
return 0;
}

时间: 2024-10-23 06:17:48

指针-数据结构 Triplet &T 中的&是什么意思的相关文章

c++-为什么网上的“常量指针”和《C++ Primer》中的“常量指针”是相反的?应该以哪个为准?

问题描述 为什么网上的"常量指针"和<C++ Primer>中的"常量指针"是相反的?应该以哪个为准? <C++ Primer>第五版,中文版.56 页. <C++ Primer>里好像没有"指针常量",只有"指向常量的指针". 解决方案 c++primer 第五版 指向常量的指针和常量指针C++之 常量指针C++中的常量指针 解决方案二: 一) 常量指针. 常量是形容词,指针是名词,以指针

python-pandas dataframe数据结构,想检查索引列中的数据是否唯一怎么检查

问题描述 pandas dataframe数据结构,想检查索引列中的数据是否唯一怎么检查 如题 pandas dataframe数据结构,想检查索引列中的数据是否唯一怎么检查 不知道pandas中有没有这样的函数 解决方案 http://jingyan.baidu.com/article/e52e3615a43c8940c70c515e.html

数据结构例程——线索化二叉树(中序)

本文是数据结构基础系列(6):树和二叉树中第14课时线索二叉树的例程. #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; int ltag,rtag; //增加的线索标记 struct node *lchild; struct node *rchild; } TBTNode; void Creat

指针-@数据结构大神:链队列的5种操作,42行判断队为空,为啥会错?求解释!`

问题描述 @数据结构大神:链队列的5种操作,42行判断队为空,为啥会错?求解释!` int Init_Queue(LinkQueue *Q) { Q=(LinkQueue*)malloc(sizeof(LinkQueue)); if(Q==NULL) return 0; Q->front=(QueueNode*)malloc(sizeof(QueueNode)); if(Q->front==NULL) return 0; Q->rear=(QueueNode*)malloc(sizeof

二维数组与指针-C语言二维数组中的*(p+1)的确切含义

问题描述 C语言二维数组中的*(p+1)的确切含义 各位大师们,烦请指教一二吧.如果是在一维数组中,*(p+1)表示p+1这个地址空间或空间中的值,那么在二维数组中,p+1是指向a[1]*(p+1)是a1这个地址中的值啊?可是为什么会是地址呢? 解决方案 二维数组其实是一个小戏法,本质上还是一维数组--二维下标连续构成的数组又连续构成第一维下标.你可以像遍历一维数组那样遍历它 解决方案二: 其实a[2][3]的调用可以看成是两个调用,首先是对a进行[2]操作,然后再对a[2]的返回值进行[3]操

指针-关于二维数组a中,a[1] 与 &amp;amp;amp;a[1]相等的一个疑问?(从来没弄懂)

问题描述 关于二维数组a中,a[1] 与 &a[1]相等的一个疑问?(从来没弄懂) 对二维数组a[][]来说,a[1] 与 &a[1]相等.我来分析一下我的误解: 首先,a[m] 里面的内容是一个一维数组的首地址. 而 &a[m] 是 a[m] 的地址,它们相等. 说明 a[m] 的内容其实就是他本身的地址编号 (把 a[m] 看成一个变量) 对于一个内容就是地址的变量m,&m 与 m 相等 毋庸置疑. 然而 &a[m][0] 也等于 a[m] 说明 a[m][0]

Java千百问_06数据结构(011)_java中的数组是什么

1.什么是数组 Java提供了一个用于存储相同类型的元素的,固定大小的连续集合数据结构:数组. 数组是用于存储数据的集合,储存相同类型数据的集合. 与单个变量相比(如number0, number1 - number99),数组变量需要使用下标索引来确定数组中某个数据的顺序(如numbers[0], numbers1 - numbers[99] ).  了解变量看这里:局部变量.类变量.实例变量有什么区别2 2.如何声明数组 一个程序要使用数组,必须声明一个变量来引用数组,而且需要指定数组变量的

指针-@数据结构大神:链队列的5种操作,33行判断节点为空,为啥会错?求解释!(没加头节点)

问题描述 @数据结构大神:链队列的5种操作,33行判断节点为空,为啥会错?求解释!(没加头节点) 解决方案 传进来的参数Q是个NULL 解决方案二: Q没有分配空间

数据结构 算法-如何用java中串的操作方法找出两个字符串中所有共同的字符

问题描述 如何用java中串的操作方法找出两个字符串中所有共同的字符 通过实现对串的基本操作的算法设计,运用模式匹配算法KMP和Brute-Force,展出两个字符串中所有共同的字符,判断一个字符串是否为E-mail地址