摘要: 指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面2句定义了一个整形变量a和这个整形a的引用b,事实上a和b是同一个东西,在内存占有同一个存储单元。(2)可以有co 阅读全文
posted @ 2011-04-03 22:27 Matrix海子 阅读(159461) 评论(10) 推荐(20) 编辑
摘要: 在C/C++中,指针和数组在很多地方可以互换使用,这使得我们产生一种错觉,感觉数组和指针两者是完全等价的,事实上数组和指针是有很大的区别的。1.两者在含义上的区别。 数组对应着一块内存区域,而指针是指向一块内存区域。其地址和容量在生命期里不会改变,只有数组的内容可以改变;而指针却不同,它指向的内存区域的大小可以随时改变,而且当指针指向常量字符串时,它的内容是不可以被修改的,否则在运行时会报错。如:#include<stdio.h>#include<stdlib.h>#include<string.h>int main(void){ char*s1=" 阅读全文
posted @ 2011-04-03 21:32 Matrix海子 阅读(17293) 评论(0) 推荐(5) 编辑
摘要: 大家都知道指针是C语言中的精粹,学好了指针基本就等于学号了C语言,它能直接对物理地址进行访问,具有双重功能,是嵌入式设计中必不可少的一门语言。C语言功能强大的主要原因就是具有指针结构。指针是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间的功能。 下面谈谈几个指针中常见的问题:1.声明指针和取指针变量所指向内存空间的数据时所用到的 * 符号的意义如:int a;int *p=&a;*p=3;在int *p=&a中 * 仅仅为了说明p是一个指向整形数据的变量,而在*p=3中 * 表示取p所指向内存单元的数据,即*p与a等价;初学者容易犯下面这个错误:比如写一个 阅读全文
posted @ 2011-04-03 20:49 Matrix海子 阅读(13387) 评论(0) 推荐(4) 编辑
摘要: 1.I/O函数(1)scanf函数:int scanf(const char *format…..);从标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中的参数个数,否则返回EOF;注意以下几点:①scanf函数没有精度控制如出现:scanf(“%6.2f”,&a);是绝对错误的②在以%c格式输入字符数据时,所有输入的均为有效字符如:scanf(“%c%c%c”,&a,&b,&c);输入:d e f则a=’d’,b为空格字符' ',c=’d’如果以%s读入字符串,则空格键和回车键都可以作为输入结束的标志如:s 阅读全文
posted @ 2011-04-03 19:36 Matrix海子 阅读(15013) 评论(0) 推荐(1) 编辑