#野指针

变量(指针、数组)被创建之后应当及时把它们初始化

变量(指针、数组)被创建之后应当及时把它们初始化,以防止把未被初始化的变量当成右值使用。 1#include<iostream>2#include<string>3#include<map>45usingnamespacestd;67//创建map的实例,整数(int)映射...

如果输入参数采用“指针传递”,那么加 const 修饰可以防止意外地改动该指针,起 到保护作用

如果输入参数采用“指针传递”,那么加const修饰可以防止意外地改动该指针,起到保护作用。1#include<iostream>23/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/4usin...

避免数组或指针的下标越界,特别要当心发生“多 1”或者“少 1” 操作

避免数组或指针的下标越界,特别要当心发生“多1”或者“少1”操作。 1#include<iostream>2#include<string.h>345usingnamespacestd;67charstring[80];8charseps[]=",";9char*token;10/*r...

用 malloc 或 new 申请内存之后,应该立即检查指针值是否为 NULL

用malloc或new申请内存之后,应该立即检查指针值是否为NULL。防止使用指针值为NULL的内存。 1#include<iostream>2#include<string.h>34//main()函数5/*runthisprogramusingtheconsolepauserora...

如果参数是指针,且仅作输入用,则应在类型前加 const,以防止该 指针在函数体内被意外修改

如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。 1#include<iostream>23/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*...

应当将指针变量用“==”或“!=”与 NULL 比较

应当将指针变量用“==”或“!=”与NULL比较。指针变量的零值是“空”(记为NULL)。尽管NULL的值与0相同,但是两者意义不同。假设指针变量的名字为p,它与零值比较的标准if语句如下:if(p==NULL)//p与NULL显式比较,强调p是指针变量if(p!=NULL)不要写成if(p==0)//容易让人误解p是...

free 和delete 把指针怎么啦?

别看free和delete的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。发现指针p被free以后其地址仍然不变(非NULL),只是该地址对应的内存是垃圾,p成了“野指针”。如果此时不把p设置为NULL,会让人误以为p是个合法的指针。 如果程序比较长,我们有时记...
代码星球 ·2021-02-08

指针参数是如何传递内存的?

指针参数是如何传递内存的?如果函数的参数是一个指针,不要指望用该指针去申请动态内存。  1#include<iostream>23/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputlo...

指针与数组的对比

指针与数组的对比C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我...
代码星球 ·2021-02-08

引用与指针的比较

引用与指针的比较引用是C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 1#include<iostream>23/*runthisprogramusingtheconsolepauseroraddyourown...
代码星球 ·2021-02-08

用字符指针指向一个字符串

1#include<iostream>23/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/4usingnamespacestd;5intmain(intargc,char**argv){6c...

C++ 指针

C++指针学习C++的指针既简单又有趣。通过指针,可以简化一些C++编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的C++程序员,学习指针是很有必要的。正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存...
代码星球 ·2021-02-06

鼠标放在图片上指针变成放大镜形状

img{cursor:url('cursor.ico或cursor.cur'),auto}cursor是支持自定义图标的只要定义该元素的样式,给定路径后,就可以加载。不过要注意的是,考虑到IE的兼容性问题,最好使用ico或cur格式的文件,分辨率最好是32×32...

C字符指针数组的使用

#include<stdio.h>#include<stdlib.h>intmain(){//字符数组的使用charstr[]={'z','b','c',''};//字符数组printf("str地址:%pstr[0]=%cstr[0]地址:%p",str,str[0],&str[0])...
代码星球 ·2021-02-02

C二维数组用指针地址遍历

#include<stdio.h>#include<stdlib.h>intmain(){inta=100;void*p=&a;printf("a:%daddress:%p",*(int*)p,&a);//unsignedint*pt=(unsignedint*)0xbfa70e...
首页上一页12345...下一页尾页