和其他内置类型一样,在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值 2.定义指针类型的方法 在一条语句中定义了几个指针变量,每个变量前面都必须有符号 指针存储对象的地址 指针存放某个对象的地址,要想获取地址,需要用取地址符(操作符&) int ival = 42; int *p = ... ...
分类:
编程语言 时间:
2017-04-15 22:38:36
阅读次数:
276
?? 打印数组中的每一个元素,打印每一个元素的地址: #include <stdio.h> #include <stdlib.h> void main(void) { int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int *p = a; p ...
分类:
编程语言 时间:
2017-04-15 19:20:02
阅读次数:
280
1. malloc()函数 1.1 malloc的全称是memory allocation。中文叫动态内存分配。 原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。假设分配成功则返回指向被分配内存的指针。分 ...
分类:
其他好文 时间:
2017-04-15 17:10:21
阅读次数:
141
例题9.1 总结: 这个程序是个普通的定义结构体并初始化,再输出,运行时没用啥错误 例题9.2 总结: 定义名字类型为指针类型 ,但 程序不能直接给指针赋值,然后将指针类型换成数组类型;赋值的问题解决了 但是程序虽然编译正常,但是程序运行后在学生分数后面又多了个0;经过上网查询知道%s和%d连续用时 ...
分类:
其他好文 时间:
2017-04-09 18:50:27
阅读次数:
265
1 // run in windows: std::system("pause") 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 using namespace std::placeholders; 9 ... ...
分类:
其他好文 时间:
2017-04-07 23:29:58
阅读次数:
251
1、与c++不同,在java中,没有通过使用强制转换指针类型或者通过进行指针运算直接访问内存的方法。在java中使用对象时,需要严格地遵守类型规则。如果存在一个Mountain类对象的引用(类似于c++的指针),它只能作为Mountain使用。这个引用不能强制转换为Lava类型,更不能把它转为Lav ...
分类:
编程语言 时间:
2017-04-05 23:07:58
阅读次数:
155
数组名的技术盲点: 1.数组首元素的地址和数组地址时两个不同的概念,虽然它们的值相同,但是执行运算例如加1操作时,移动的步长不一样 2.数组名代表数组首元素的地址,它是一个常量: 变量的本质是内存空间的别名,一定义数组,就分配内存,内存就固定了,所以数组名起名以后就不能更改了。那么为什么指针类型的可 ...
分类:
编程语言 时间:
2017-04-05 16:08:48
阅读次数:
167
简单的示例: 遇到重载的情况,编译器通过指针类型精确匹配函数。 将函数作为参数: 返回类型不会自动地转换成指针,我们必须显示地将返回类型指定为指针,但是我想,除非是函数内部还可以构造函数(例如Python那样),否则返回函数也没什么用。 练习 6.54 6.55 & 6.56 输出结果: ...
分类:
编程语言 时间:
2017-04-03 11:32:34
阅读次数:
184
强制类型转换(显示转换) dynamic_cast<Dst_Type>(Src_var) Src_var必须是引用或者指针类型,Dst_Type类中含有虚函数,否则会有编译错误; 若目标类与源类之间没有继承关系,则转化失败,返回空指针(注:失败并不是运行崩溃) static_cast<Dst_Typ ...
分类:
编程语言 时间:
2017-04-01 00:43:49
阅读次数:
201
一、指针的本质:变量,指针变量就是指针变量int *p:两个变量,一个p(指针变量本身)是int *类型的 另一个是*p(指针指向的那个变量)是int类型的注:指针说白了就是指针类型,前面定义的int类型是为了说明指针指向的那个数的类型,所以指针的解析方式都是按地址来解析的(不管你是char *还是 ...
分类:
编程语言 时间:
2017-03-26 22:47:21
阅读次数:
226