1.数组的本质是一段连续的内存空间2.数组的空间大小为sizeof(array_type)*array_size3.数组名可看做指向数组第一个元素的常量指针4.指针是一种特殊的变量,与整数的运算规则为:p+n;=(unsignedint)p+n*sizeof(*p);结论:当指针p指向一个桶类型的数组的元素时;p+1将指向当前元..
分类:
编程语言 时间:
2016-10-05 01:12:38
阅读次数:
216
1. 数组参数退化为指针的意义 (1)C 语言中只会以值拷贝的方式传递参数,当向函数传递数组时,将整个数组拷贝一份传入函数导致执行效率低下,C 语言以高效作是最初的设计目标,所以这种方法是不可取的。 (2)参数位于栈上,太大的数组拷贝将导致栈溢出。 (3)将数组名看做常量指针,传递的是数组的首元素地 ...
分类:
编程语言 时间:
2016-09-27 09:08:57
阅读次数:
256
1.数组的本质 (1)数组是一段连续的内存空间 (2)数组的空间大小:sizeof(array_type)*array_size; (3)数组名可看做指向数组第一个元素的常量指针 (4)数组声明时编译器自动分配一片连续的内存空间 ,而指针声明时只分配了用于容纳地址值的 4 字节空间 2.指针的运算 ...
分类:
编程语言 时间:
2016-09-25 18:43:48
阅读次数:
200
常量指针: const int *p = &a; 或者 int const *p = &a; *p是常量,不能将*p作为左值进行操作。但指针p还是一个变量,它的内容存放常量的地址,所以先声明常量指针再初始化是允许的,指针也是允许修改的 指针常量: int * const p = &a; 指针本身是一 ...
分类:
其他好文 时间:
2016-09-24 17:29:12
阅读次数:
141
一、基本概念 数组名:本质是指向数组第一个元素的常量指针,即数组首地址 函数名:本质是指向函数第一条指令的常量指针,即函数首地址 函数指针:保存了函数首地址,可以看做函数的别名 二、函数指针的声明方法 type (*func)(type &, type &) 1、该语句声明了一个指针func,它指向 ...
分类:
编程语言 时间:
2016-09-18 19:29:01
阅读次数:
214
常量指针定义:常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针。指针指向的对象是常量,那么这个对象不能被更改。常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说常量指 ...
分类:
编程语言 时间:
2016-09-01 20:00:59
阅读次数:
146
8.1 数组名和指针 a称为一个标量,表示一个单一的值,变量的类型是整数。 b是数组,b[1]的类型是整数,b是一个指针常量,表示数组第一个元素的地址。b的类型取决于数组的类型,在这里b是指向int的常量指针,如果是其他类型的数组,那么就是指向其他类型的指针常量。 但是数组和指针并不相同,数组是有确 ...
分类:
编程语言 时间:
2016-08-24 01:00:29
阅读次数:
152
关于this指针 成员函数通过一个名为this的额外的隐式参数来访问调用它的对象。当我们调用一个成员函数时,用请求该函数的对象初始化this。 因为this的目的总是指向“这个”对象,所以this是一个常量指针,我们不允许改变this中保存的地址。 例如this的类型是Sale_data* cons ...
分类:
其他好文 时间:
2016-08-21 16:30:06
阅读次数:
178
this 是C++中的一个关键字,也是一个常量指针,指向当前对象(具体说是当前对象的首地址)。通过 this,可以访问当前对象的成员变量和成员函数。 所谓当前对象,就是正在使用的对象,例如对于stu.say();,stu 就是当前对象,系统正在访问 stu 的成员函数 say()。 假设 this ...
分类:
编程语言 时间:
2016-08-21 15:19:49
阅读次数:
193
传送门 常量指针和指针常量的区别详解 在C/C++中关键字const用来定义一个只读的变量或者对象,有如下优点 (1)便于类型检查,如函数的函数 fun(const int a) a的值不允许变,这样便于保护实参。 (2)功能类似与宏定义,方便参数的修改和调整。如 const int max = 1 ...
分类:
其他好文 时间:
2016-08-14 11:34:39
阅读次数:
130