D
Darklight
In the book i am using it gives three ways to access a structure member.
on the 3rd printf statement i get the output:- 3 1 (null)
why is this could some one please explain
/* POINTERS AND ARRAYS OF STRUCTURES */
#include<stdio.h>
struct part{
int number;
char name[10];
}data[1] = {{1,"herron"}};
/* OR COULD USE: strcut part data[1] = {{1, "Herron"}}; */
struct part *p_part; /* DECLARE A POINTER TO TYPE PART */
int main(void)
{
p_part = &data[0]; /* OR COULD USE p_part = data */
/* THREE WAYS TO ACCESS A STRUCTURE MEMBER */
/* USE THE INDIRECT MEMBERSHIP OPERATOR */
/*1*/ printf("1 %d %s\n",p_part->number,p_part->name);
/* USE THE IDIRECTION OPERATOR */
/*2*/ printf("2 %d %s\n",(*p_part).number,(*p_part).name);
/* USE THE STRUCTURE NAME */
/*3*/ printf("3 %d %S\n",data[0].number, data[0].name[10]);
return 0;
}
on the 3rd printf statement i get the output:- 3 1 (null)
why is this could some one please explain
/* POINTERS AND ARRAYS OF STRUCTURES */
#include<stdio.h>
struct part{
int number;
char name[10];
}data[1] = {{1,"herron"}};
/* OR COULD USE: strcut part data[1] = {{1, "Herron"}}; */
struct part *p_part; /* DECLARE A POINTER TO TYPE PART */
int main(void)
{
p_part = &data[0]; /* OR COULD USE p_part = data */
/* THREE WAYS TO ACCESS A STRUCTURE MEMBER */
/* USE THE INDIRECT MEMBERSHIP OPERATOR */
/*1*/ printf("1 %d %s\n",p_part->number,p_part->name);
/* USE THE IDIRECTION OPERATOR */
/*2*/ printf("2 %d %s\n",(*p_part).number,(*p_part).name);
/* USE THE STRUCTURE NAME */
/*3*/ printf("3 %d %S\n",data[0].number, data[0].name[10]);
return 0;
}