将指针值传递到c中的结构中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将指针值传递到c中的结构中相关的知识,希望对你有一定的参考价值。
以下代码有什么问题?它会产生细分错误。
#include <stdio.h>
#include <stdlib.h>
typedef struct
int ** access;
item;
int main()
int access[5][5];
for(int i = 0; i < 5; i++)
for(int j = 0; j<5; j++)
access[i][j] = 5;
item * p = malloc(sizeof(item));
p->access = access;
for(int i = 0; i < 5; i++)
for(int j = 0; j<5; j++)
printf("%d",p->access[i][j]);
return 0;
我想创建一个结构,该结构包含在主函数中创建的double数组的值。怎么了?
答案
您可以在结构体中拥有指针数组,例如int * [5]。但是您必须在2D数组中分配每行的地址以构造数据成员。
还释放您在malloc中分配的内存。
以上是关于将指针值传递到c中的结构中的主要内容,如果未能解决你的问题,请参考以下文章