Я использую Visual C ++ 6.0 для практики работы с указателями, вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char first_name[50];
char middle_name[50];
char last_name[50];
int height;
int weight;
}people;
int main()
{
//declare a people structure pointer
people *ppl_ptr;
//allocate memory space for people structure
ppl_ptr = malloc(sizeof(people));
//check if you run out of the heap
if(ppl_ptr==NULL)
{
printf("Out of memory!\n");
return 0;
}
//initialize the unname people varible
(*ppl_ptr)={"bla","bla","bla",192,58};
return 0;
}
, но я получил синтаксическую ошибку: C:\C Practice\ch14.c(30) : error C2059: syntax error : '{'
Error executing cl.exe.
и если я заменю (*ppl_ptr)={"bla","bla","bla",192,58};
с чем-то вроде (*ppl_ptr).first_name="bla";
Я получу другую ошибку:
ch14.c
C:\C Practice\ch14.c(30) : error C2106: '=' : left operand must be l-value
Error executing cl.exe.
, и эта ошибка msg на самом деле не имеет смысла для меня ..Это случается с кем-нибудь из вас?Пожалуйста, дайте мне знать, почему он выдает мне эту ошибку.Заранее спасибо.