我做了一个malloc()调用的代码,但它返回一个空指针.当我调用相同malloc()的main()并传递给函数时,它工作得很好.请告诉我这是什么问题.
这是我的代码.我malloc()在函数中遇到问题reverse().malloc()其他功能中的s工作正常.那么为什么那个函数中存在问题呢?我的电脑里有足够的内存,所以绝对不是问题所在.
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
} SNode;
typedef struct
{
int count;
SNode *top;
} Stack;
int isSEmpty(Stack *s)
{
return (s->count==0);
}
void push(Stack *s, int x)
{
SNode *temp = (SNode *)malloc(sizeof(SNode));
temp->data = x;
temp->next = s->top;
s->top = temp;
s->count++;
}
int pop(Stack *s)
{
if (isSEmpty(s))
{
printf("Underflow");
return -1;
}
SNode *temp …Run Code Online (Sandbox Code Playgroud) 我对图像处理知识不多。我正在尝试实现一个ConvNet。我下载了一些图像作为数据集,并使其高度和宽度相等。然后我尝试通过以下代码将它们加载到np.array中:
train_list = glob.glob('A:\Code\Machine
Learning\CNN\ConvolutionalNN1\TrainImg\*.jpg')
X_train_orig = np.array([np.array(Image.open(file)) for file in train_list])
Run Code Online (Sandbox Code Playgroud)
但这给了我无法广播(420,310)到(420,310,3)的错误。然后我打印了数组的形状,其中一些是(420,310,3),其他是(410,320,4)。为什么会这样呢?以及如何更改它以使其适合数组?