出于某种原因,当我使用" cc"编译以下代码时像环境一样的Unix我没有得到任何错误但是当我执行时没有任何反应接受它说内存错误(核心转储)。
我做错了什么? 整个想法只是为了做一个小函数,为你做结构字符串分配和strcpy所以代码可以在将来是一个单行。
由于 购物车
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//PROTOTYPES!
void printString(char * String);
void InitiateStr(char *stru,char *string);
typedef struct _PrepMsg
{
char *DataType;
char *DataToBeSent;
int *NumBytes;
} PrepMsg;
int main(void){
PrepMsg *MsgPrep;
MsgPrep = (PrepMsg*)malloc(sizeof(PrepMsg));
printf("Got here!");
InitiateStr(MsgPrep->DataToBeSent,"BHAHAHA");
printString(MsgPrep->DataToBeSent);
return EXIT_SUCCESS;
}
void printString(char * String)
{
printf("%s",String);
}
void InitiateStr(char *stru,char *string)
{
stru = ((char *)malloc(strlen(string))+1);
strcpy(stru,string);
}