c语言中,scanf里面要是数组要不要加&?
2016-04-23 09:37
302 查看
其实你明白原理就觉得很简单了。
首先,你要知道scanf传入的必须是指针,也就是地址。
比如int a, 就要写成&a。
但是如果是数组,数组符号表示的就是数组的首地址(更准确的说,数组本身表示的是数组首元素的地址)。
首先,你要知道scanf传入的必须是指针,也就是地址。
比如int a, 就要写成&a。
但是如果是数组,数组符号表示的就是数组的首地址(更准确的说,数组本身表示的是数组首元素的地址)。
int a[10];a就表示a[0]的地址;那a[3]的地址呢?
可以这样,&a[3]; 这就是加&的数组,如果不加呢,可以这样(a+3)就可以了,a是a【0】的地址,那么a+3就是a[3]的地址。
所以你要弄明白他的传入的到底是谁的地址,就可以了,加不加只是个实现方式不一样而已。
相关文章推荐
- C++ 复杂链表的复制
- C# 调用C++工程生成的DLL
- 很好的c++和Python混合编程文章
- C++ 线程操作
- 使用C/C++扩展Python
- 设计模式 - 观察者模式(Observe pattern)C++实现
- c++中级 STL基础学习(二)
- 【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)
- 【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)
- C++进阶 面向对象基础(三)
- c++作业4
- LEX & FLEX 实现C语言词法分析器
- 【C++】JSON文件的读取和生成
- C++作业4
- 【代码】C++实现二叉树基本操作及测试用例
- c++的重载、覆盖和隐藏
- Effective C++: std::move
- c++作业4
- C++第四次上机实验其他作业
- C语言4——文件操作