以前一直没有注意的问题(不断更新中。。。)
来源:互联网 发布:地面数据质量控制 编辑:程序博客网 时间:2024/05/01 23:49
- 以前一直没注意的问题:
根据scanf函数的定义,其接收元素必须是类型与控制字符串元素对应的变量的地址。&是取地址操作符,当接收元素不是地址时要用&获得变量的地址,当接收元素已经是地址时就不用&了。
输入整形数组元素要加“&”(地址符号),输入字符串则不用。
scanf("%d",&a[i]);//读取第i个值scanf("%s",s[i]);//读取第i个字符串
对比
(1):char a;scanf("%c",&a);//字符要加(2):char a[10];scant("%s",a);//字符串数组不用加
举个例子
#include "stdio.h"int main(void){ int x; char a[10]; scanf("%d%s",&x,a);//x前要加&,因为x不是地址,a前不加,因为数组名就是地址 printf("%d %s\n",x,a); return 0;}
f(int* a)与f(int& a)的区别?
- 指针可以指向空,引用不能。int* a = NULL可以。 int& a = NULL不行。
- 指针可以重新赋值,引用不能。int&a = value1之后就不能再做a = value2
- 引用的使用
在C中用指针传递参数地址,但是,指针的使用非常复杂,容易出错。C++采用了引用的概念,它是一种间接的指针。引用可为变量起别名,主要用于参数传递和做函数的返回类型。
1 .引用定义的关键字是“type &”,含义是定义一个type类的引用,此引用可与type类对象或变量的地址相联系。如:
int I=5;
int &j=I;
含义是:创建一个整型引用,j是I的别名,它们公用一个内存地址。
说明:
(1) double & rr=1; 等价与 double temp; temp=double(1); double & rr=temp;
(2) int a; int & p=a; int b=8; p=&b; //正确,指针变量的引用
void & a=3; //不正确,没有变量或对象的类型是void
int & ri=NULL; //不正确,有空指针,无空引用
(3) int & ra=int; //不正确,不能用类型来初始化
int *p=new int; int & r=*p; //正确
(4) 引用不同于一般变量,下面类型声明是非法的:
int &b[3]; //不能建立引用数组
int & *p; //不能建立指向引用的指针
int &&r; //不能建立引用的引用
(5) 当使用&运算符取一个引用的地址时,其值为所引用变量的地址,
2.引用参数
引用的一个重要应用就是作为函数的参数。在使用引用做参数时不必使用*,并且又没有地址与变量本身的差别,从而简化了程序,
3. 引用和指针使用原则
1.在可以用引用的情况下,不要用指针;
2.引用不允许重新赋值.,当使用一个变量指向不同的对象时,必须用指针;
3.引用不允许为空,当存在对象为空时,必须使用指针。
总结:引用的正常是固定数,不为空。指针用来移动,重新赋值,++。
阅读全文
0 0
- 以前一直没有注意的问题(不断更新中。。。)
- 以前一直想解决的锁问题
- 一个以前没有注意的问题:java构造函数的执行顺序
- 两个以前没有注意的C&C++语法
- 解决img链接有边框的问题,以前一直纠结。。。。。
- 原来java的正则也支持后置引用的,以前一直没有注意到。
- C++中要注意的小细节(不断更新中……)
- VS 中生成 EXE 时,修改图标一直没有改动的问题
- QT学习过程中遇到的问题集锦(不断更新)
- linux中遇到的问题和解决(不断更新)
- maven 项目遇到的问题(不断更新中)
- CSS网页编码以前需要注意的十个问题
- Java程序遇到的问题, 不断更新中
- CSDN 上面一个指针问题(以前自己没有弄清)
- 数据库SQL中的分钟表示应该使用MI(非常重要的一个问题,以前一直认为和java中一样,用mm就可以表示);校对规则(查询时区分大小写)
- VC如何问题集锦(不断更新中...)
- TD问题小结(不断更新中......)
- Delph各种问题汇总(不断更新中)
- poj 3122 Pie
- java字符串比较 == 与 equals的区别
- 快速排序之理解
- leetcode 484. Find Permutation
- 斯特林公式
- 以前一直没有注意的问题(不断更新中。。。)
- 说说我们自建IDC的规划,和走过的那些坑
- 为数据中心选择网络交换机、需要考虑哪些重要因素?
- Android逆向之旅---SO(ELF)文件格式详解
- POJ 2001 Shortest Prefixes 字典树经典题,求最短唯一前缀)
- 在字符串中查找第一个只出现一次的字符,例如:输入"abbbacfes",则输出'c'.
- HDU2955
- hdu 6070 Dirt Ratio
- 图像对比度与亮度调整算法实现(Python&OpenCV)