在.Net中,对于相同的字符串,.Net会将它们指向同一个地址,它们是相同的实例。.Net中的字符串并不会更新,当更改一个字符串变量时,由于字符串的不可变性,.Net实际上是新创建一个字符串,而将变量地址指向新创建的字符串地址。 string s1 = "Hello"; string s2 ...
分类:
Web程序 时间:
2015-08-21 15:11:55
阅读次数:
137
方法的定义、调用、重载一、方法概念:完成某一功能的程序块相当于其他语言的函数。main本身也是一个方法。将参数传递给方法(或函数)按值调用--表示方法接收的是调用者提供的值按引用调用--表示方法接收的是调用者提供的变量地址一个方法可以修改传递引用所对应的变量值,而不能修改传传递值调用所对应的变量值-...
分类:
其他好文 时间:
2015-08-20 01:05:47
阅读次数:
196
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。...
分类:
其他好文 时间:
2015-08-19 13:39:48
阅读次数:
127
一、scanf()和gets()
1.scanf()
所在头文件:stdio.h
语法:scanf(“格式控制字符串”,变量地址列表);
接受字符串时:scanf(“%s”,字符数组名或指针);
2.gets()
所在头文件:stdio.h
语法:gets(字符数组名或指针);
两者在接受字符串时:
1.不同点:
scanf不能接受空格、制表符Tab、回车等;
而gets能够...
分类:
编程语言 时间:
2015-08-16 09:27:43
阅读次数:
151
指针,是C语言的灵魂,也是C语言与其他高级编程语言不同的地方,它可以灵活的操作内存,同样,也会带来很多问题,需要安全的使用指针。
指针变量是指存放变量地址的变量,刚开始学可能会有点困难,需要多多理解。
指针常见错误1:
# include
int main(void)
{
int * p; //定义int类型变量指针p
int i = 3;
*p = i; //...
分类:
编程语言 时间:
2015-08-02 18:23:46
阅读次数:
159
1 大家都知道java和C#中没有指针这个概念。但是也导致了编程中常常忽略了对象与引用的区别,难道java真的没有指针吗?句柄是什么?变量地址在哪里?没有地址是不可能的,关键是java中如何避免了指针这个概念。 2 java中内存的分配方式有两种,一种是在堆中分配,一种是在堆栈中分配,所有new出....
分类:
编程语言 时间:
2015-07-31 19:55:57
阅读次数:
130
一、volatilevolatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象...
分类:
编程语言 时间:
2015-07-31 09:04:57
阅读次数:
215
一般VC和BCB是将vPtr放在类实例的前四个字节,GCC是放在末尾。在某些情况下需要考虑表指针的位置,比如序列化的时候。其实只需将类实例的首地址与类的第一个成员变量地址相比较就可得知虚表指针的位置。class A{ A(void){} virtual void Foo(void...
分类:
其他好文 时间:
2015-07-26 17:08:16
阅读次数:
167
指针:也是变量,存放变量的地址。 指针是变量的一个间接,变量是内存的一个间接。 虚拟内存中地址总线确定了你能访问的内存空间。 32位cpu最大的虚拟内存:2^32=4GB所以32位的XP使用8G内存并没有什么用。 指针存放的变量地址是一个十六进制的数据表示的一组数据,而并非实际..
分类:
编程语言 时间:
2015-07-26 06:18:46
阅读次数:
227
程序经过编译后将变量名转换成变量的地址,对变量的存取都是通过地址进行的。一.指针与指针变量指针:一个变量的地址。指针就是地址指针变量:专门存放变量地址的变量二.指针的初始化1.可以用任意合法的指针值进行初始化2.如果定义指针变量时没有初始化,则系统将根据指针变量的类型选择是否自动初始化指针变量:全局...
分类:
其他好文 时间:
2015-07-10 16:30:33
阅读次数:
128