概念: 1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。2.所谓的空指针,就是指针的内容为空。比如上面的s,如果令它指向null,就是空指针。3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假 ...
分类:
其他好文 时间:
2016-03-27 21:05:06
阅读次数:
152
这几个个东东很具有迷惑性。inta=10;//假设a的地址是0x0000004Cint*p;//假设p的地址是0x0035FA94p=&a;指针的内容:指针里面存放的是地址。指针p里面存放的是a的地址(&a)。即指针p里面存放的内容是0x0000004C。指针的地址:指针本身的地址。指针p的地址就是&p。指针..
分类:
其他好文 时间:
2016-03-26 20:33:25
阅读次数:
173
1. const 修饰变量,表示变量的值不会改变: const TYPE ValueName = value; 2. 指针使用const (1)指针本身是常量不变,有以下两种写法: (char*) const pName; (2)指针所指向的内容是常量不变,有以下两种写法: (char) const
分类:
编程语言 时间:
2016-02-10 06:42:20
阅读次数:
249
拷贝构造和拷贝赋值------一个有点难的问题 介绍之前,我们需要首先了解深拷贝与浅拷贝的差异: 何为深拷贝,深拷贝不会复制指针,而是令目标对象拥有独立的资源,该资源是从元对象中复制,即先找到对象的指针,在通过指针拷贝其内容; 何为浅拷贝,即之赋值指针的地址,不会赋值指针的目标,容易引发double
分类:
编程语言 时间:
2016-02-02 20:39:48
阅读次数:
392
今天在看《Head First C语言》中,书中的代码是*lat=*lat+1;我则写成了*lat++;结果是并不能得到lat指针的内容加一。之后发现原来在C语言中*解指针运算符 与++后自增运算符的优先级是相同的,*p++,后自增运算符++只作用于p,并不能作用于*p(如果*的优先级更高的话才行)...
分类:
编程语言 时间:
2015-12-05 19:15:08
阅读次数:
154
(1) 指针本身是常量不可变(char*) const pContent;const (char*) pContent;(2) 指针所指向的内容是常量不可变const (char) *pContent;(char) const *pContent;(3) 两者都不可变const char* cons...
分类:
其他好文 时间:
2015-12-05 17:36:45
阅读次数:
122
int *p = NULL;p:指针p所指向的内存的地址*p:指针p所指向的内存地址的值&p:指针p的地址 1 #ifndef _CODE_POINTER_DEMO01_H_ 2 #define _CODE_POINTER_DEMO01_H_ 3 4 #include 5 #include 6...
分类:
其他好文 时间:
2015-11-22 00:21:25
阅读次数:
124
方法一:指针的方式#include<stdio.h>#include<stdlib.h>intmy_strlen(constchar*str){ char*tmp=str;//用tmp保存原指针的地址 while(*str)//str++直到‘\0’ { str++; } returnstr-tmp;//两个指针相减,得到字符长度}intmain(){ char*p="bit"; printf("%d\n",my_..
分类:
编程语言 时间:
2015-09-14 00:44:58
阅读次数:
284
说明:第一篇回顾了指针的基本概念以及基本使用,因此对指针也有了一个较为清晰的思路,但实际上第一篇关于指针的内容是不太容易忘记的。这是第二篇中的内容是比较容易混淆,但对于指针的进一步学习也是非常重要的。一.指向函数的指针1.函数指针·函数指针即指向函数的指针,函..
分类:
编程语言 时间:
2015-09-14 00:42:41
阅读次数:
370
int *p;p=new int[3];p[0]=1;p[1]=2;p[2]=3;&p , *p , p , *(&p)这三个各表示什么意思?这里new int[3]返回指向所请求的准确类型对象的指针,这里准确是返回数组第一个元素的地址,也就是数值首地址。因此&p是获取指针p的地址,也就是指向数组首...
分类:
其他好文 时间:
2015-08-13 12:02:06
阅读次数:
141