C Programming 
132 
Suppose your C program contains a number of TRUE/FALSE variables grouped in 
a structure called status, as follows: 
struct 
unsigned int widthValidated; 
unsigned int heightValidated; 
} status; 
This structure requires 8 bytes of memory space but in actual, we are going to 
store either 0 or 1 in each of the variables. The C programming language offers 
a better way to utilize the memory space in such situations.  
If you are using such variables inside a structure, then you can define the width 
of a variable which tells the C compiler that you are going to use only those 
number of bytes. For example, the above structure can be rewritten as follows: 
struct 
unsigned int widthValidated : 1; 
unsigned int heightValidated : 1; 
} status; 
The above structure requires 4 bytes of memory space for status variable, but 
only 2 bits will be used to store the values.  
If you will use up to 32 variables, each one with a width of 1 bit, then also the 
status structure will use 4 bytes. However, as soon as you have 33 variables, it 
will allocate the next slot of the memory and it will start using 8 bytes. Let us 
check the following example to understand the concept: 
#include <stdio.h> 
#include <string.h> 
/* define simple structure */ 
struct 
19. BIT FIELDS 
Pdf password security - C# PDF Password Library: add, remove, edit PDF file password in C#.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
convert password protected pdf to normal pdf; create password protected pdf from word
Pdf password security - VB.NET PDF Password Library: add, remove, edit PDF file password in vb.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
convert protected pdf to word; adding password to pdf file
C Programming 
133 
unsigned int widthValidated; 
unsigned int heightValidated; 
} status1; 
/* define a structure with bit fields */ 
struct 
unsigned int widthValidated : 1; 
unsigned int heightValidated : 1; 
} status2; 
int main( ) 
printf( "Memory size occupied by status1 : %d\n", sizeof(status1)); 
printf( "Memory size occupied by status2 : %d\n", sizeof(status2)); 
return 0; 
When the above code is compiled and executed, it produces the following result: 
Memory size occupied by status1 : 8 
Memory size occupied by status2 : 4 
Bit Field Declaration 
The declaration of a bit-field has the following form inside a structure: 
struct 
type [member_name] : width ; 
}; 
The following table describes the variable elements of a bit field: 
Elements 
Description 
Online Remove password from protected PDF file
hlep protect your PDF document in C# project, XDoc.PDF provides some PDF security settings. On this page, we will talk about how to achieve this via password.
copy protected pdf to word converter online; convert password protected pdf to excel
C# PDF Digital Signature Library: add, remove, update PDF digital
Document Protect. Password: Set File Permissions. Password: Open Document. How to C#: Add Digital Signatures to PDF. Help to Improve the Security of Your PDF File
pdf passwords; crystal report to pdf with password
C Programming 
134 
type 
An  integer  type  that  determines  how  a  bit-field's  value  is 
interpreted. The type may be int, signed int, or unsigned int. 
member_name  The name of the bit-field. 
width 
The number of bits in the bit-field. The width must be less 
than or equal to the bit width of the specified type. 
The variables defined with a predefined width are called
bit fields. A bit field can 
hold more than a single bit; for example, if you need a variable to store a value 
from 0 to 7, then you can define a bit-field with a width of 3 bits as follows: 
struct 
unsigned int age : 3; 
} Age; 
The above structure definition instructs the C compiler that the age variable is 
going to use only 3 bits to store the value. If you try to use more than 3 bits, 
then it will not allow you to do so. Let us try the following example: 
#include <stdio.h> 
#include <string.h> 
struct 
unsigned int age : 3; 
} Age; 
int main( ) 
Age.age = 4; 
printf( "Sizeof( Age ) : %d\n", sizeof(Age) ); 
printf( "Age.age : %d\n", Age.age ); 
Age.age = 7; 
printf( "Age.age : %d\n", Age.age ); 
VB.NET PDF Digital Signature Library: add, remove, update PDF
Protect. Password: Set File Permissions. Password: Open Document. NET PDF - Add Digital Signatures to PDF in VB VB.NET Programmers to Improve the Security of Your
a pdf password; pdf file password
VB.NET PDF Library SDK to view, edit, convert, process PDF file
XDoc.PDF SDK allows users to perform PDF document security settings in VB.NET program. Password, digital signature and PDF text, image and page redaction will
copy protected pdf to word converter online; break password pdf
C Programming 
135 
Age.age = 8; 
printf( "Age.age : %d\n", Age.age ); 
return 0; 
When  the  above  code  is  compiled,  it  will  compile  with  a  warning  and  when 
executed, it produces the following result: 
Sizeof( Age ) : 4 
Age.age : 4 
Age.age : 7 
Age.age : 0 
C# HTML5 Viewer: Deployment on AzureCloudService
RasterEdge.XDoc.PDF.HTML5Editor.dll. system.webServer> <validation validateIntegratedModeConfiguration="false"/> <security> <requestFiltering
pdf password online; break a pdf password
C# HTML5 Viewer: Deployment on ASP.NET MVC
RasterEdge.XDoc.PDF.HTML5Editor.dll. system.webServer> <validation validateIntegratedModeConfiguration="false"/> <security> <requestFiltering
convert password protected pdf to word; pdf password reset
C Programming 
136 
The C programming language provides a keyword called
typedef, which you can 
use  to  give  a  type,  a  new  name.  Following  is  an  example  to  define  a 
term
BYTE
for one-byte numbers: 
typedef unsigned char BYTE; 
After this type definition, the identifier BYTE can be used as an abbreviation for 
the type unsigned char, for example: 
BYTE  b1, b2; 
By convention, uppercase letters are used for these definitions to remind the 
user  that  the type  name  is  really  a  symbolic  abbreviation,  but  you  can  use 
lowercase, as follows: 
typedef unsigned char byte; 
You can use
typedef
to give a name to your user-defined data types as well. For 
example, you can use typedef with structure to define a new data type and then 
use that data type to define structure variables directly as follows: 
#include <stdio.h> 
#include <string.h> 
typedef struct Books 
char  title[50]; 
char  author[50]; 
char  subject[100]; 
int   book_id; 
} Book; 
int main( ) 
Book book; 
20. TYPEDEF 
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
DNN (DotNetNuke), SharePoint. Security PDF component download. Online source codes for quick evaluation in VB.NET class. A good external
password on pdf file; open password protected pdf
.NET PDF SDK - Description of All PDF Processing Control Feastures
Easy to change PDF original password; Options for setting PDF security level; PDF text content, image and pages redact options. PDF Digital Signature.
pdf protection remover; create password protected pdf reader
C Programming 
137 
strcpy( book.title, "C Programming"); 
strcpy( book.author, "Nuha Ali");  
strcpy( book.subject, "C Programming Tutorial"); 
book.book_id = 6495407; 
printf( "Book title : %s\n", book.title); 
printf( "Book author : %s\n", book.author); 
printf( "Book subject : %s\n", book.subject); 
printf( "Book book_id : %d\n", book.book_id); 
return 0; 
When the above code is compiled and executed, it produces the following result: 
Book  title : C Programming 
Book  author : Nuha Ali 
Book  subject : C Programming Tutorial 
Book  book_id : 6495407
typedef vs #define 
#define
is a C-directive which is also used to define the aliases for various data 
types similar to
typedef
but with the following differences: 
typedef
is  limited  to  giving  symbolic  names  to  types  only, 
whereas
#define can be used to define alias for values as well, e.g., you 
can define 1 as ONE, etc. 
typedef
interpretation  is  performed  by  the  compiler  whereas
#define 
statements are processed by the preprocessor. 
The following example shows how to use #define in a program: 
#include <stdio.h> 
#define TRUE  1 
#define FALSE 0 
int main( ) 
C Programming 
138 
printf( "Value of TRUE : %d\n", TRUE); 
printf( "Value of FALSE : %d\n", FALSE); 
return 0; 
When the above code is compiled and executed, it produces the following result: 
Value of TRUE : 1 
Value of FALSE : 0 
C Programming 
139 
When we say
Input,
it means to feed some data into a program. An input can be 
given in the form of a file or from the command line. C programming provides a 
set of built-in functions to read the given input and feed it to the program as per 
requirement. 
When we say
Output,
it means to display some data on screen, printer, or in 
any file. C programming provides a set of built-in functions to output the data on 
the computer screen as well as to save it in text or binary files. 
The Standard Files 
C programming treats all the devices as files. So devices such as the display are 
addressed  in  the  same  way  as  files  and  the  following  three  files  are 
automatically  opened  when  a  program  executes  to  provide  access  to  the 
keyboard and screen. 
Standard File 
File Pointer 
Device 
Standard input 
stdin 
Keyboard 
Standard output 
stdout 
Screen 
Standard error 
stderr 
Your screen 
The  file  pointers  are  the  means  to  access  the  file  for  reading  and  writing 
purpose. This section explains how to read values from the screen and how to 
print the result on the screen. 
The getchar() and putchar() Functions 
The
int  getchar(void)
function  reads  the  next  available  character  from  the 
screen and returns it as an integer. This function reads only single character at a 
time. You can use this method in the loop in case you want to read more than 
one character from the screen. 
The
int  putchar(int  c)
function puts the passed character on the screen and 
returns the same character. This function puts only single character at a time. 
You can use this method in the loop in case you want to display more than one 
character on the screen. Check the following example: 
21. INPUT AND OUTPUT 
C Programming 
140 
#include <stdio.h> 
int main( ) 
int c; 
printf( "Enter a value :"); 
c = getchar( ); 
printf( "\nYou entered: "); 
putchar( c ); 
return 0; 
When the above code is compiled and executed, it waits for you to input some 
text. When you enter a text and press enter, then the program proceeds and 
reads only a single character and displays it as follows: 
$./a.out 
Enter a value : this is test 
You entered: t 
The gets() and puts() Functions 
The
char  *gets(char  *s)
function  reads  a  line  from
stdin
into  the  buffer 
pointed to by
s until either a terminating newline or EOF (End of File). 
The
int  puts(const  char  *s)
function  writes  the  string  ‘s’  and  ‘a’  trailing 
newline to
stdout. 
#include <stdio.h> 
int main( ) 
char str[100]; 
printf( "Enter a value :"); 
gets( str ); 
C Programming 
141 
printf( "\nYou entered: "); 
puts( str ); 
return 0; 
When the above code is compiled and executed, it waits for you to input some 
text. When you enter a text and press enter, then the program proceeds and 
reads the complete line till end, and displays it as follows: 
$./a.out 
Enter a value : this is test 
You entered: This is test 
The scanf() and printf() Functions 
The
int  scanf(const  char  *format,  ...)
function  reads  the  input  from  the 
standard  input  stream  stdin
and  scans  that  input  according  to
the 
format
provided. 
The
int  printf(const  char  *format,  ...)
function  writes  the  output  to  the 
standard output stream
stdout
and produces the output according to the format 
provided. 
The
format
can be a simple constant string, but you can specify %s, %d, %c, 
%f, etc., to print or read strings, integer, character, or float, respectively. There 
are  many  other  formatting  options  available  which  can  be  used  based  on 
requirements.  Let  us  now  proceed  with  a  simple example  to understand  the 
concepts better:  
#include <stdio.h> 
int main( ) 
char str[100]; 
int i; 
printf( "Enter a value :"); 
scanf("%s %d", str, &i); 
printf( "\nYou entered: %s %d ", str, i); 
Documents you may be interested
Documents you may be interested