指针与数组和字符串
来源:互联网 发布:java 发送邮件 图片 编辑:程序博客网 时间:2024/06/10 09:19
q
Question
指针初始化
是不是指针初始化
第一种方法是int* p;p=&i;
第二种方法是int* p=&i;均需要加取地址符,如果是 int* p;p=i;就是野指针?
还有,是不是只有int*p=NULL时,不用加&?
Answer
声明了一个指针变量 int *p后,p的址址即告确定,但p的值是随机值,会指到哪里去谁也不知道,所以叫“野指针”。只有对p人为进行赋值后,p的值才可控,特别的,对p的第一次人为赋值,称为初始化。所以你提到的第一、二种方法都是初始化。
关于赋给p的应该是什么值,不要太着相了,p就是个4字节变量而己,理论上4字节长的数值都可以赋,当然实际上出于安全考虑,不会这么乱来。举例来说:
(1)&i:就是i的地址。其实也是一个数值,只是省了你自己查找i地址的麻烦。
(2)i:如是i是一个整型变量,并且其数值作为地址是有意义的,就可以
(3)NULL:就是0。0作为地址可以吗?当然可以。你写成int *p=0也一样。
综上:只声明、没赋值过的指针都是野指针,初始化就是第一次赋值。能赋给指针的,只要是可以解释为地址的数值都可以。
s所以指针的初始化就是用 int *p = NULL;
阅读全文
0 0
- 字符串与数组和指针
- 指针与数组和字符串
- 字符串数组与指针
- 字符串数组与指针
- 数组、指针与字符串
- 数组、指针与字符串
- 数组、字符串与指针
- 字符串数组与指针
- 指针字符串和数组指针
- 字符串指针和数组
- 指针、数组和字符串
- 指针数组和字符串
- 字符串数组与字符串指针
- 字符串指针与字符串数组
- 字符串指针和字符串数组
- 字符串指针和字符串数组
- 字符串数组和字符串指针
- 字符串指针和字符串数组
- pandas分析NBA2017-2018赛季球员球队数据
- mybatis 映射 List<String>
- 实验二之顺序表
- Java Annotation认知(包括框架图、详细介绍、示例说明)
- 网页
- 指针与数组和字符串
- spark-submit提交集群命令
- 让你的网站免费支持 HTTPS 及 Nginx 平滑升级
- climits头文件中的符号常量
- Hibernate中对象的三种状态
- PullToRefresh使用详解(三)--实现异步加载的下拉刷新列表
- C++ CreatFile文件创建及打开的使用
- JSF Converter介绍与使用
- Fragment hide/show 切换 走的方法onHiddenChanged(boolean hidden)