66问答网
所有问题
当前搜索:
指针指向new
【求助】C++中怎样让
指针
指回数组首位?
答:
你这个p指针的地址没变呀,p[i]=i的操作并不会让p
指针指向
不同的地方,它还是指向第一个元素的。int *p;p=
new
int[20];printf("p的地址为[%p]\n", p);for(int i=0;i<20;i++)p[i]=i;printf("p的地址为[%p]\n", p);通过加的这两句打印,你可以看到p的地址没变。有问题可...
c语言中->和.的区别
答:
c语言中->和.的区别为:性质不同、
指向
不同、访问不同。一、性质不同 1、->:->是指向结构体成员运算符。2、.:.是断点符号,不属于运算符。二、指向不同 1、->:->所指向的是结构体或对象的首地址。2、.:.所指向的是结构体或对象。三、访问不同 1、->:->的用处是使用一个指向以便...
c++ 中
指针
内容自己发生变化
答:
如果问题很难发现的话,可能是其他的数组越界了。
如何delete
指针
vector中
new
出来的内存(之前说的方法不管用TAT)?_百度...
答:
这些回答都是胡说霸道!你的动态内存申请了一份,你却释放了八次 你对动态内存的分配和释放的机制不理解。这是运行时错误。你的这句代码“p=
new
TAStarNode[8];”其本质是这样的 从堆中分配 8*sizeof( TAStarNode)大小的内存,并且调用8次TASTarNode的构造函数,初始化你的动态内存。注意,...
new
int[][10]是什么意思
答:
int (*int)[10]; int型
指针
,
指向
一个数组。此数组有10个int型元素 int(*int)[10]先找到声明符int型,被括号括着,先看括号内的(优先级高),然后向右看,没有,向左看,是*,说明是个指针,什么指针?在看括号外面的,先向右看,有[] 是个数组,说明a是个志向数组的指针,再向左看,是...
delete
指针
是按什么为单位释放内存?
答:
我不是专家。你考虑一下我的一个想法,其实我们在使用delete删除指针的时候,仅仅就是讲指针删除了而已,而之前存放在这个
指针指向
的地址中的东西并没有被删除,由于指针已经不见了,所以不能在访问到这块内存,但当我们从新分配内存的时候还是有可能重新用到这块内存,此时写入的内容将会把原先的数据覆盖...
C语言
指针
二维数组怎么初始化
答:
1、数组
指针
初始化方法:int (*p)[4];char a[3][4];p=a;p=&a[0];p=a+1;p=&a[1]; //都正确 p=a[0]; //错误 p=a[1]; //错误。2、首先,指针p表示的是,
指向
一个含有4个元素的一维数组的指针,因此,必须把一个含有4个元数的数组的地址赋给指针p才会正确。因为二维数组...
为什么要用基类
指针指向
派生类?而不用派生类指针指向派生类?
答:
简单的一个场景:一个形状的父类A,这个A有一个virtual的 getArea的方法,派生出 矩形一个子类B和一个圆形子类C,有一个函数,返回的是参数的
指针指向
对象的area、那么 这个函数可以这样写 int reArea(A* a){ return a.getArea();} 根据你传递的指针的不同,可以传递B类型的指针,也可以传递是C...
...将它们存放
new
运算符申请到的动态数组中,再用
指针
逆序输出
答:
include <iostream> using namespace std;int main(){ int n;double *array;cin >> n; array =
new
double[n];for(int i=0; i<n; i++)cin >> array[i];double *p = array+n;while(--p >= array)cout << *p << ' ';cout << endl;return 0;} ...
为什么b="a"直接改变了b的地址?
答:
这个涉及到string的操作符 == ==就是直接比较两个string是否一样,b=“a“以后就和a的内容一样了,自然返回 的是true了。至于是不是直接改变了b的地址,当然不是了。
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜