指针函数和函数指针

指针函数

//
//  main.c
//  指针函数
//
//  Created by admin on 16/3/31.
//  Copyright © 2016年 jin. All rights reserved.
//

#include <stdio.h>
#include <stdlib.h>
/**
 指针函数:返回值为指针的函数
 */
char * test1()
{
    return "Hello world!";
}
char * test2()
{
    /**
    int int1 = 3215156;
    int * int2 = &int1;
    return int2;
     */
//    char *string = "aswdasd";
    char string[] = "aswdasd";
    return string;
}
int main(int argc, const char * argv[]) {
    char *stringA = "sadsdasd";
    char *string = test1();
    printf("%s\n",test1());
    printf("%s\n",stringA);
    char stringB[] = "sadsdasd";
    char *stringC = stringB;
    printf("%s\n",stringC);

    char stringD = 1;
    char *stringE = &stringD;
    printf("%i\n",*stringE);

    printf("%s\n",test2());

    return 0;
}

函数指针

//
//  main.c
//  函数指针
//
//  Created by admin on 16/3/31.
//  Copyright © 2016年 jin. All rights reserved.
//

#include <stdio.h>
void test1()
{
    printf("哈哈哈\n");
}
int test2()
{
    return 888;
}
int test3(int num1,int num2)
{
    return num1 + num2;
}
int main(int argc, const char * argv[]) {
    /**
     函数指针
     */
    void (*test1Pointer)();
    test1Pointer = test1;
    test1Pointer();
    int (*test2Pointer)();
    test2Pointer = test2;
    printf("%i\n",test2Pointer());
    int (*test3Pointer)(int num1,int num2);
    test3Pointer = test3;
    printf("%i\n",test3Pointer(1,2));
    return 0;
}

标签: c

添加新评论