`

C/C++:对指针进行操作的函数

阅读更多
先看个例子
void add_array(int* a){
	a += 2;
	printf("ths pointer is increase %d \n",a);
}
//int add(int x, int y); // forward declaration using function prototype

int main()
{
    int i = 0;
    int* array = &i;
    //printf("ths sum is");
    //printf("ths sum is %d",i);
    printf("ths pointer is %d \n",array);
	add_array(array);
    printf("after function the pointer is %d \n",array);
}

把指针作为函数的参数。 函数中指针的值发生了变化,但是在main函数中指针并没有变。 这是因为我们传入的参数是指针的形参,所以不会对原有指针的值产生变化。虽然一开始a和array值相同,但他们并不指向同一块内存。

如果改为:
void add_array(int** a){
	*a += 2;
	printf("ths pointer is increase %d \n",*a);
}
//int add(int x, int y); // forward declaration using function prototype

int main()
{
    int i = 0;
    int* array = &i;
    //printf("ths sum is");
    //printf("ths sum is %d",i);
    printf("ths pointer is %d \n",array);
	add_array(&array);
    printf("after function the pointer is %d \n",array);
}

把指针作为实参传入的话,就会对main中的指针进行修改了。
分享到:
评论

相关推荐

    C/C++ 函数指针的意义,函数指针的用法

    C/C++ 函数指针的意义,函数指针的用法

    C/C++ 函数指针教程

    英文的。 C/C++ 函数指针教程 C/C++ 函数指针教程 C/C++ 函数指针教程

    有关C/C++的函数指针概念课件仅供学习使用

    里面包含函数和指针概念的详细讲解,北大名师所做。希望能够对学C/C++的同学有所帮助。

    嵌入式系统的微模块化程序设计-实用状态图C/C++实现

    有关状态机设计方面的书籍,我这里隆重推荐一本:《Practical Statecharts in C/C++ Quantum Programming for Embedded Systems》,中文名叫做《嵌入式系统的微模块化程序设计-实用状态图C/C++实现》,北航出版的,...

    C/C++中多维数组指针作为函数参数传递程序

    在C++中,通过多维数据的指针作为函数参数传递源程序

    C/C++高级应用资源:easyx 图形窗口下用结构体指针、递归函数制作多级菜单。

    C/C++高级应用资源:easyx 图形窗口下用结构体指针、递归函数制作多级菜单。 递归结构体、递归函数经典应用。

    指针习题(C/C++考试复习必备)

    指针习题(C/C++考试复习必备),C++语言指针内容很难,精选题目供参考学习

    C# 调用C++DLL(函数参数包含指针)

    C#调用C++DLL,C++DLL中的函数参数包含指针。 绝对可用。

    C/C++指针的用法总结实例工程

    本工程包括以下内容:(开发环境:VC6.0) 1.双重指针的用法实例; 2.引用的用法实例; 3.指针函数的用法实例; 4.区别指针数组与数组指针的用法实例; 5.迷途指针的用法实例;

    不错的c/c++指针总结

    对c/c++有关指针各个方面进行了总结,主要包括: 一.指针是一个特殊的变量 二. 指针的算术运算 三. 运算符&和* 四. 指针表达式 五. 数组和指针的关系 六. 指针和结构类型的关系 七. 指针和函数的关系 八. 指针...

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    本书以流行的面试题讲解为主要内容,介绍了C、C++语言基本概念,包括保留字、字符串、指针和引用、结构体、库函数等各个方面的基础知识,介绍了面向对象编程基本概念,包括如何实现继承、多态和封装等。还介绍了排序...

    C++函数的指针

    指针 不仅可以只想变量 常量 数组 还可以指向函数 。 本资源利用函数指针调用 求和函数

    C/C++指针详解

    在 C 语言的学习中,指针的运用被认为是最大的难关。 关于指针的学习,我们经常听到下面这样的建议: “如果理解了计算机的内存和地址等概念,指针什么的就简单 了。” “因为 C 是低级语言,所以先学习汇编语言比较...

    C# 调用c++ 库 参数为指针类型导出函数

    参数为指针类型导出函数 c# Csharp调用 c++库 参数为导入和导出指针两种 包含C++ DLL源码 如fun(cont char* A,char*B) A为输入参数,B为输出参数-C# CSharp call C++ DLL lib dll function param use export and ...

    C++指针——数组指针/函数指针

    NULL 博文链接:https://448230305.iteye.com/blog/2191121

    c++函数指针使用demo

    c++的指针特性学习之函数指针,代码中给出了函数指针的声明方式和使用方式,供大家使用函数指针参考

    C++普通函数指针与成员函数指针实例解析

    本文即对C++普通函数指针与成员函数指针进行实例解析。 一、普通函数指针 通常我们所说的函数指针指的是指向一般普通函数的指针。和其他指针一样,函数指针指向某种特定类型,所有被同一指针运用的函数必须具有相同...

    C++对象和指针的引用

    如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型...

    c语言贪吃蛇源码(带注释)

    用windows api 做的贪吃蛇 ...//将msg返回给windows已进行某些键盘消息的转换 DispatchMessage(&msg);//将msg再次返回给windows }*/ return msg.wParam;//msg.wParam是PostQuitMessage函数的参数值,通常是0 } ...

    C/C++笔试题(附答案,华为面试题系列)

    答:支持,设立封锁机制主要是为了对并发操作进行控制,对干扰进行封锁,保证数据 的一致性和准确性,行级封锁确保在用户取得被更新的行到该行进行更新这段时间内不 被其它用户所修改。因而行级锁即可保证数据的一致...

Global site tag (gtag.js) - Google Analytics