我在培训和研究C中使用的 struct ,但当我试图创建数据 struct 时,我遇到了一个问题,比如打印随机数字.我认为他打印的是这个数组指针中任何数组元素的地址,但我想知道如何修复它,使其通过指向数组的指针来打印值.
#include <stdio.h>
#include <stdlib.h>
//creating a struct for a data structure
typedef struct {
int size;
int (*Arr)[10];
int top;
} Stack;
//function prototype
void print_Stack(Stack *pilha);
int main() {
Stack pilha;
int Elementos[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
pilha.Arr = &Elementos;
pilha.size = sizeof(Elementos) / sizeof(int);
print_Stack(&pilha);
return 0;
}
//creating a print stack function
void print_Stack(Stack *pilha) {
for (int x = 0; x < pilha->size; x++) {
printf("%d", pilha->Arr[x]);
}
}
我知道在 struct 中创建数组有更好的方法,不管怎么说,我想要一个如何打印指针数组中的值的解决方案,以便在其他情况下使用它,如果你解释它,它会变得更好:),因为我是编程初学者,我喜欢用艰苦的方式学习它.
我试图让获取地址,放在变量上,然后再次使*
获得值,但它不起作用.