sizeof operator in C

It is used to find the size(in bytes) of data type or variable.  Consider the following examples,

Example 1:
int arr[100];
sizeof(int)            - 4 bytes  // size of an integer
sizeof(arr)            - 400 bytes // size of 100 elements in an integer array

Example 2:
Structure is a user defined compound data type which can have elements of different data types grouped under a common name.  We will see more about structures in forth coming tutorials.

struct student {
     char name[100];
     int age, rollno;
};
struct student obj, *ptr

sizeof(struct student) - 108 bytes   // size of structure student
sizeof(obj)                - 108 bytes  // size of structure variable of type student
sizeof(ptr)                 - 4 bytes    // size of pointer to structure of type student

The total size of the structure student is 108 bytes(name - 100 bytes, age - 4 bytes, rollno - 4 bytes).  Here, obj is a structure variable of type student and ptr is a pointer to structure of type student.

The return type of sizeof() operator is unsigned integer.  And this operator is defined in <stddef.h>

Example C program on sizeof() operator
 
#include <stdio.h>
struct student {
char name[100];
int age, rollno;
};

int main() {
int arr[100];
struct student obj, *ptr;
printf("sizeof(int): %d\n", sizeof(int)); // size of integer
printf("sizeof(arr): %d\n", sizeof(arr)); // sizeof array
printf("sizeof(struct student): %d\n",
sizeof(struct student)); // size of structure
printf("sizeof(obj): %d\n", sizeof(obj)); // obj is of type struct student
printf("sizeof(ptr): %d\n", sizeof(ptr)); // ptr is pointer to struct student
return 0;
}


  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  sizeof(int): 4
  sizeof(arr): 400
  sizeof(struct student): 108
  sizeof(obj): 108
  sizeof(ptr): 4




sizeof operator in C sizeof operator in C Reviewed by Mursal Zheker on Minggu, Desember 29, 2013 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.