我的C++学习之路
来源:互联网 发布:地下室顶板 塑性板算法 编辑:程序博客网 时间:2024/04/29 16:34
备忘C++知识点(牛客网刷题知识点备忘)
1、char *p[10] 是指针数组,数组里存放了10个指针,在64位系统下指针占8个字节,所以sizeof(p) = 10 * 8 = 80.
char (*p1)[10]是数组指针,p1是一个指向存放10个char类型的数组的指针,所以sizeof(p1) = 8.
2、引用 NWU 面试容易考的关于const的几个易混淆的表达式做一个整理,希望对大家有帮助int const *a 和 const int *a 意义相同,作用等价 同理,本题3、4意义相同const int *a 这里const 修饰的是int,而int定义的是一个整值int *const a 这里const修饰的是 a ,a代表的是一个指针地址 因此不能赋给a其他的地址值,但可以修改a指向的值const int * const a 这个代表a所指向的对象的值以及它的地址本身都不能被改变
const修饰指针的情况,见下式:
int b = 500;
const int* a = &b [1]
int const *a = &b [2]
int* const a = & b [3]
const int* const a = & b [4]
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。const和左侧相关,除非左侧没东西。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量(const放在变量声明符的位置无关),这种情况下不允许对内容进行更改操作,如不能*a = 3;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常量。
0 0
- 我的C学习之路
- 我的C/C++学习之路
- 我的C/C++学习之路
- 我的c程序学习之路
- 我的C语言学习之路
- 我的c学习之路二------hello world
- 我的c学习之路四------关键字
- linux下C语言,我的新手学习之路。
- 我的c之路
- C语言,是我学习的初步之路,我应该好好把握!
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 我的学习之路
- 数据库
- Hash查找算法
- c++ map 函数
- HDU1425
- Linux 命令学习记录
- 我的C++学习之路
- 栈和队列(5)——用一个栈实现对另一个栈的排序
- JAVA中IO流分析(1)
- Java的反射机制
- Android Studio 添加依赖项目后导致运行项目卡死的问题解决
- Dinic 算法hdu1532(转给自己做模板)
- 随时随地的退出程序
- 最短路问题——Dijkstra算法
- C语言——0的各种用法