天天看点

最新作的关于指针,函数指针,线性表的练习存档

我相信,只要一步一步踏实的往走前,

总有一天会突破瓶颈的。

关于数据,逻辑,程序语言,it,电影,篮球,我一生都不想放弃。

总想写一些关于it,计算机,系统,api,网络,编程语言与生活及人生的对比,但一时却没有清晰的思路来整理好。

~~~~~~~~

#include <stdio.h>

#include <stdlib.h>

#define maxsize 20

#define ok 1

#define error 0

#define true 1

#define false 0

void myfun1(int x);

void myfun2(int x);

void myfun3(int x);

typedef void (*funtype)(int );

void callmyfun(funtype fp,int x);

typedef int elemtype;

typedef int status;

typedef struct

{

    elemtype data[maxsize];

    int length;

}sqlist;

sqlist init()

    sqlist l;

    l.length = 0;

    return l;

}

sqlist create(sqlist l)

    int i;

    for (i=0;i<15;i++)

    {

        l.data[i] = i;

        l.length++;

    }

status getelem(sqlist l,int i,elemtype *e)

    if (l.length == 0 || i < 1 || i > l.length)

        return error;

    *e = l.data[i-1];

    return ok;

int main(void)

    sqlist nmlist;

    int element;

    int j=10;

    nmlist = init();

    nmlist = create(nmlist);

    for(i=0;i < nmlist.length;i++)

        printf("%d\t==%d==\n",i,nmlist.data[i]);

    printf("\n");

    getelem(nmlist,j,&element);

    printf("the %d element value is:%d\n",j,element);

    int k = 5;

    printf("k's right value is :%d\n",k);

    printf("k's left address is :%x\n",&k);

    int* pi;

    pi = &k;

    printf("pi's left value is :%x\n",pi);

    printf("pi's right address is :%d\n",*pi);

    callmyfun(myfun1,10);

    callmyfun(myfun2,20);

    callmyfun(myfun3,30);

    system("pause");

void callmyfun(funtype fp,int x)

    fp(x);

void myfun1(int x)

    printf("myfun1\n",x);

void myfun2(int x)

    printf("myfun2%d\n",x);

void myfun3(int x)

    printf("myfun3%d\n",x);