传递数组功能
发布时间:2020-12-16 09:57:46 所属栏目:百科 来源:网络整理
导读:如果我在C中有以下内容: void increment_ptr(int *arr_ptr){ int i; for(i=0; i10; i++) { arr_ptr++; }}int main(){ int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int *arr_ptr = arr; increment_ptr(arr_ptr); } 我是否正确地认为当我在调用increment_ptr后返
如果我在C中有以下内容:
void increment_ptr(int *arr_ptr) { int i; for(i=0; i<10; i++) { arr_ptr++; } } int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int *arr_ptr = arr; increment_ptr(arr_ptr); } 我是否正确地认为当我在调用increment_ptr后返回main时,arr_ptr仍然指向arr [0]? 解决方法
是
因为你调用这样的函数: increment_ptr(arr_ptr); 这会传递指针的副本(按值传递). increment_ptr中的arr_ptr与main中的arr_ptr不同,尽管两者都指向相同的内存位置arr(& arr [0]).从函数increment_ptr修改arr_ptr不会影响main中的arr_ptr. 要从increment_ptr修改main中的arr_ptr,需要将arr_ptr的地址传递给increment_ptr,这是一个int **(指向int的指针) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Linux初始化Git环境
- postgresql windows下二进制文件安装
- 循环’接口’依赖和Castle-Windsor
- ajax跨域请求下parsererror错误
- ruby-on-rails – Ruby版本> = X与当前版本不兼容
- 在PostgreSQL中使用UTC中的当前时间作为默认值
- ruby-on-rails – Rails webpacker出于某种原因总是认为NOD
- dojo小例子(30)FilteringSelect至少输入3个字才会触发查询
- react-bootstrap – navbar-fixed-top显示Navbar后面的内容
- swift和oc的相互调用,其实很简单(基于swift4.0)