zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

关于 最新 练习 指针 线性表 函数指针 存档
2023-09-14 08:59:36 时间

总有一天会突破瓶颈的。

关于数据,逻辑,程序语言,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 i++)
    {
        L.data[i] = i;
        L.length++;
    }
    return L;
}

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);
   
    int i;
    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);
    printf("\n");
   
    int k = 5;
    printf("ks right value is :%d\n",k);
    printf("ks left address is :%x\n",
   
    int* pi;
    pi =
    printf("pis left value is :%x\n",pi);
    printf("pis 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);
}


C++指针详解 计算机程序在存储数据时必须跟踪3种属性 1、信息存储在何处 2、存储的值是多少 3、存储的信息是什么类型 指针是一个变量,其存储的是值的地址,而不是值本身。 获取常规变量地址 使用&——地址运算符
函数指针数组的指针 下面定义一个简单的函数指针数组的指针: char* (*(*pf)[3])(char* c); pf是一个指针,这个指针指向一个有3个元素的数组,每个元素是一个参数为char* ,返回值为char *的指针。