C语言特性(指针与数组)
2015-12-23 19:52
351 查看
指针与数组
指向数组的指针变量
简单来讲就是数组变量保存了数组的首地址。指针运算
目前,指针变量存在如下几种赋值方式1.p = &a;:将一个已有变量的内存地址赋值给指针变量p。 2.p = &arr[i];:将某个数组元素的内存地址赋值给指针变量p。 3.p = arr:将arr数组的首地址赋值给指针变量p。 4.p = pt:将指针变量pt中保存的地址赋值给指针变量p。
指针除了可以被赋值之外,还支持如下运算
1.指针变量加(或减)一个整数:当指针变量加或减n时,代表将该指针的地址加或减n*变量大小个字节。 2.当两个指针变量指向同一个数组的元素时,两个指针变量可以相减:两个指针变量相减返回两个指针所指数组之间元素的 个数。 3.当两个指针变量指向同一个数组元素时,两个指针变量可以比较大小:指向前面的数组元素的指针小于指向后面的数组元 素的指针。
数组变量作为函数参数
数组变量的本质就是指向第一个数组元素的指针常量,因此将数组变量作为参数的本质就是将指针变量作为参数。当把数组变量作为参数传入函数时,只是把该数组变量的值(指向数组的指针)传入函数,并不是将数组本身传入函数,因此,传入函数的数组变量依然指向原有的数组。在函数中对数组变量所指的数组所做的修改将会影响原有数组的元素。
相关文章推荐
- C语言特性(指针)
- C语言特性(预处理)
- C语言特性(局部变量和全局变量)
- C语言--指针基础
- 操作系统: 二级目录文件系统的实现(c/c++语言)
- C++中实现从std::string类型到bool型的转换
- iOS_02_第一个C语言程序(理解编译、连接、运行)
- C语言版的线性回归分析函数
- C++--------检测电脑是否休眠过
- C++权限继承方式对权限的影响
- C语言开发总结(二十一)
- C++如何通过指针创建二维数组
- C++ 数组引用传递与指针传递
- C++文件读写详解(ofstream,ifstream,fstream)
- C语言宏定义##连接符和#符的使用
- C语言undefined behaviour未定义行为
- 【学习笔记】自定义关于wchar_t*的相关函数
- C,C++宏中#与##的讲解
- windows下C++多线程
- C语言开发总结(二十)