`

c函数指针和指针函数及extern的用法

阅读更多
 #include <stdio.h>
   int max(int a,int b){
        return a>b?a:b;
   }
    int *maxs(int a,int b){

        int c=0;
        int *p;
         c=a>b?a:b;
         p=&c;
         printf("最大的数是 %d",c);

        return p;
   }
   functionPoint(){
        int result=0;
        int(*pmax)();//定义一个函数指针。
        pmax=max;  //并把max函数赋给这个pmax指针
        result=pmax(2,3);
        printf("函数指针的返回值是%d\n",result);
   }
   PointFunciton(){
          int result=0;
          int *p=maxs(3,7); //因为函数的返回值是指针,所以定义一个变量来接受它
          //int a=*p;
       //   int *re=*p;
          printf("指针函数的返回值是%d",*p);

   }
   int main(int argc, char *argv[])
   {
      functionPoint();  //函数指针,指向函数的指针
      PointFunciton(); //指针函数,说明返回值是一个指针
      return 0;
   }
   
/*
   int *p();
 p为带回一个指针的函数,该指针指向整型数据*/


   

 

extern用法

 

 
#include <stdio.h>
int a=0;
int main(){
      extern b;
      printf("%d\n",b);
 }
 int b=2; //extern来声明外部变量,因为int b=2是在main函数之后定义,
 //所以main必须通过extern b来声明,就可以访问b了
 
分享到:
评论

相关推荐

    函数指针_extern_typedef_const_static的基本用法

    在C/C++编程语言中,`函数指针`、`extern`、`typedef`、`const`和`static`是五个非常重要的关键字,它们各自有着独特的功能和用途。本篇文章将详细阐述这些概念及其基本用法。 首先,我们来看`函数指针`。函数指针...

    C语言函数速查手册

    《C语言函数速查手册》是一本专门为C语言学习者和开发者设计的实用参考资料,它提供了C语言中各种函数的详细信息,旨在帮助用户快速查找和理解特定函数的使用方法。作为C语言的核心组成部分,函数在编程过程中起着至...

    C语言函数速查_Vc_

    "C语言函数速查_Vc_" 提供了一个方便的参考资料,帮助C程序员快速查找和理解各种函数的使用方法。下面,我们将深入探讨C语言函数的关键知识点。 1. 函数定义与声明: 在C语言中,函数由`return_type function_name...

    extern "C"的详细用法+demo

    下面是一个简单的示例,展示如何在C++中使用`extern "C"`调用C语言编写的函数: ```cpp // test_c_function.c #include void c_function() { printf("This is a C function.\n"); } // test_cpp.cpp extern "C" ...

    C语言中extern用法

    extern用法详解 extern是一个C语言中的关键字,它可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 基本概念 ---- extern的基本用法是将...

    C语言函数目录,和讲解

    2. 函数指针:C语言支持函数指针,这使得函数可以作为参数传递或存储在变量中,实现回调机制和元编程。 3. 返回值:每个函数都有一个返回值,即使它返回的是`void`,表示没有返回值。 4. 作用域:函数内的变量只在该...

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

    本篇文章将深入探讨如何在C#中调用一个C++DLL,特别是当DLL函数参数中包含指针时的处理方法。 首先,理解C#与C++之间的互操作性是关键。.NET框架提供了一个名为P/Invoke(Platform Invoke)的机制,允许C#代码调用...

    extern用法详解

    extern用法详解 extern 是 C 语言中的一种关键字,用于声明变量或函数的定义在其他文件中。它可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义...

    extern用法详解.doc

    extern 是 C 语言中的一个关键字,用于声明变量或函数在其他文件中定义。下面是对 extern 用法的详细解释: 1. 基本解释 extern 可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此...

    extern_volatile等修饰符的用法

    extern可以指定使用另一语言链接,需要与特定的转换符一起使用,例如`extern "C"`。 四、volatile修饰符 volatile修饰符用于声明一个对象可以被外部进程(操作系统、硬件或并发进程等)改变。 1. 声明volatile...

    C语言程序设计重庆大学第05章指针与函数PPT学习教案.pptx

    《C语言程序设计》重庆大学第五章主要讲解了指针与函数的结合使用,这是C语言中的一个重要概念,尤其在处理复杂程序逻辑和提高代码效率时。本章分为三个主要部分:指向函数的指针、用指向函数的指针变量调用函数以及...

    extern声明辨析

    为了确保C++环境下的C函数能够正确链接,需要使用`extern "C"`来声明这些函数。`extern "C"`告诉C++编译器不要对这些函数进行名称修饰,从而确保它们与C编译器产生的符号相匹配。 - **示例**:以下是一个典型的`...

    C#调用CDLL带指针参数的函数

    要使用P/Invoke,我们需要在C#类中定义一个外部方法,声明其对应的DLL函数原型。 例如,假设我们有一个名为`myDll.dll`的C++ DLL,其中有一个带指针参数的函数`void MyFunction(int* ptr, int count)`。在C#中,...

    C语言程序设计重庆大学第05章指针与函数PPT课件.pptx

    这不仅涉及到函数指针的基本用法,还包括如何利用它们来构建更加复杂的程序结构,如动态调度函数执行,实现函数间的交互等。因此,对于任何想要深入理解C语言的人来说,这部分内容的学习是不可或缺的。

    C回调C++成员函数,C++回调C函数~测试可用哦~

    另一种方法是创建一个C风格的函数指针,该函数接收一个指向C++对象的指针,并通过这个指针调用成员函数。这通常被称为"封装"或"包装"。 以下是一个简单的示例: ```cpp // C++类定义 class MyClass { public: ...

    C中的auto、static、register和extern的区别

    在C语言中,`auto`、`static`、`register`...通过上述解释和示例,我们可以看到`auto`、`static`、`register`和`extern`关键字在C语言中扮演着重要的角色,掌握它们的特性和用法对于编写高效、可维护的C程序至关重要。

    C语言中关键字const、static、volatile、extern、auto、register的用法分析.doc

    C语言中关键字const、static、volatile、extern、auto、register的用法分析 本文将对C语言中的六个关键字:const、static、volatile、extern、auto、register进行详细的分析和解释。 一、const关键字 Const关键字...

Global site tag (gtag.js) - Google Analytics