C 语言指针的运算问题
高洛峰
高洛峰 2016-11-07 13:43:11
0
1
626

代码的目的是让结构体里面的 List 指针指向申请的一维数组;curNumber表示目前数组里的元素个数;代码编译通过了,但是不能运行出来;求详解!

#include<stdio.h>
#include<stdlib.h>
typedef struct Stack{
    int * List;
    int curNumber;
}Stack, *link;


int main(){
    void initst(link *A);
    void pus(link *A,int k);
    
    link *A;
    int k = 8;
    initst(A);
    pus(A, k);
    return 0;
}

void initst(link *A){
    *A = (link)malloc(sizeof(Stack));
    (*A) -> List = (int *)malloc(4 * sizeof(int));
}
void pus(link *A,int k){
    *((*A)-> List) = k;
    printf("%d \n",*((*A) -> List));

}
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all(1)
三叔
link *A;
int k = 8;
initst(&A);
...

void initst(link **A){
    *A = (link)malloc(sizeof(Stack));
    (*A) -> List = (int *)malloc(4 * sizeof(int));
}

想要在函数里面改变一级指针参数的指向,要使用二级指针

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template