指针初始化与指针赋值有什么区别 指针数组赋值

int* p=123;
the VC++ will give a error,say:cannot convert from 'const int' to
'int *',Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

当赋值为NULL时,没有错误和警告;
int* p=0;

然而这样
int* p;
*p=123;
只有一个指针没有初始化的警告,为什么?
我想知道内存中是怎样工作的?
----------------------------------------------

int *p=123, 是给p赋值为123,p是一个指针,123 编辑器默认为 const int, 所以会报错!

int *p=0, 将指针初始值设为0, 0是一个特殊的常量,编辑器根据不同的情况进行处理,这里将它视为NULL指针。

int *p定义一个指向整形的指针,但是没有给它赋值,p现在是一个随机值!
*p=123, 给p指向的内存赋值为123,由于p没有赋初值,所以p指向的内存位置是随机的,虽然编辑的时候没有错,但很可能发生运得时的错误,因为程序将修改未知区域的内存!

指针初始化与指针赋值有什么区别 指针数组赋值
应该这样:
int k;
int *p = &k;
*p = 123; // Same as k=123;

int *p = new int[1];
*p = 123;
----------------------------------

int *p = new int(123);//开空间并初始化其值为123。
delete p;

int *p = new int[123];//开数组,不能初始化,规则这么说的。
delete [] p;//new的时候用了[],delete的时候也用[]


  

爱华网本文地址 » http://www.413yy.cn/a/25101010/24035.html

更多阅读

MP4和MP5有什么区别?什么是MP5? mp4与mp5有什么区别

?????? ?随着平板电脑的流行,曾经辉煌一时的MP4就变得有些凄凉了。不过MP4由于小巧精灵实惠依然受到不少学生喜爱。从MP3到MP4再到现在的MP5我们也可以看到数码产品在不断升级。近段时间有不少学生朋友问笔者MP5是什么?MP4与MP5有什么

苹果iPhone4S与iPhone4有什么区别 苹果4和4s屏幕一样大吗

3毫米改变,iPhone 4S详细对比黑白iPhone 4,如果用一句话来总结iPhone 4S外型上的变化——iPhone 4S确实没啥变化! 下面给大家分析一下苹果iPhone4S与iPhone4区别有哪些?苹果iPhone4S与iPhone4有什么区别——区别苹果iPhone4S与iPhone4

iphone5s与5c有什么区别 iphone5 5s 5c的区别

iphone5s与5c有什么区别——简介苹果公司于北京时间2013年9月11日凌晨1点召开了新品的全球发布会,此次发布新品包括 iPhone 5s 和之前盛传的 iPhone 5c,作为果粉的我们是否应该很想了解一下他们呢?下面笔者就从处理器、摄像头、外观、

iOS7.1正式版与iOS7.0.4有什么区别? ios10.0.2正式版固件

iOS7.1正式版与iOS7.0.4有什么区别?——简介iOS7.1正式版值得升级吗?具有颠覆性修复与改正的iOS7.1正式版已正式发布,而且安装率也一直在飙升。你是否还停留在iOS7.0.4版本上?心中是否也有所顾虑?那么,iOS7.1正式版与iOS7.0.5区别对比应

声明:《指针初始化与指针赋值有什么区别 指针数组赋值》为网友旧梦初醒已千年分享!如侵犯到您的合法权益请联系我们删除