易错知识点——<引用和指针之间的特性>

1、指针加减操作

理解指针的加减操作,对指针进行加1操作,得到的是下一个元素的地址而不是原有地址值直接加1,所以一个类型为t的指针的移动,是以sizeof(t)为移动

2、指针常量和常量指针的区别

在C++中,常量指针和指针常量是两个相关但不同的概念。

const char* p 常量指针(const pointer)是指向常量的指针,意味着指针本身的值可以改变,但是通过指针所指向的内容必须是常量,不能通过指针修改它指向的值。

char* const p指针常量(pointer to const)是指向非常量的常量指针,即指针本身是常量,不能修改它的值(赋值后不能更改指针指向),但是可以通过指针修改它指向的内容。

 

3、关于this指针

4、char*和char[]区别

char*是 字符指针变量,可以指向字符地址或字符串首地址。

char* p = "hello world"是错误的,"hello world"是字符串常量,也就是const char*(常量指针),char*前必须加const,即const char* p="hello world",不能修改p指向的常量区内存的内容。

sizeof(p)的大小是平台下一个指针的大小(32位下是4字节),与其中的字符串长度无关。

char []是字符数组,指向连续字符(栈内存)的首地址

char s[] = "hello world"是可以的,且可修改s[2]='a',但此时s的指向是不能变的,相当于是char* const(也就是指针常量)

sizeof(s)的大小是字符串所占字节数(包括\0一个字节)。

 

posted @ 2021-01-10 13:06  灼光  阅读(115)  评论(0编辑  收藏  举报
document.body.oncopy=function(){ event.returnValue=false; var t=document.selection.createRange().text; var curUrl = window.location.href; var s="本文来源于灼光的博客(https://www.cnblogs.com/laiyingpeng/) , 原文地址:" + curUrl + "转载请加上原文地址。"; clipboardData.setData('Text','\r\n'+t+'\r\n'+s+'\r\n\r\n\r\n'); }