我的理解是:由于*&q=p,所以q是p的别名;因此int *p=&a即为int *q=&a;既然q=&a,那么*q=a显而易见;感觉这节课的难点并不是所谓的地址跳转,而是别名的引用,让大家没有看懂这个简单的程序,只需要将红色的那一行去掉,并将*q=20改为*p=20即可
2018-02-16
最赞回答 / TIMELORD4083146
当const已经修饰一直变量时,再去用指针去指这个变量会很危险,因为指针可以改去该变量的值,与const就有冲突的风险,const int *p=&a和const int * const p=&a是可以的,这样保证了*p的值不能改变,所以就不会有与const冲突的可能性。
2018-02-13
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
char*str =new char[100];
//在堆中申请100个char类型的内存
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
count<<str<<endl;
//打印字符串
delete []str;
//释放内存
str ==NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
char*str =new char[100];
//在堆中申请100个char类型的内存
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
count<<str<<endl;
//打印字符串
delete []str;
//释放内存
str ==NULL;
return 0;
}