answersLogoWhite

0


Best Answer

fread(s,i1,i2,f) Enter i2 dataitems,each of size i1 bytes,from file f to string s.

fseek(f,1,i) Move the pointer for file f a distance 1 byte from location i.

ftell(f) Return the current pointer position within file f.

fwrite(s,i1,i2,f) send i2 data items,each of size i1 bytes from string s to file f.

The data type returned for functions fread,fseek and fwrite is int and ftell is long int.

User Avatar

Wiki User

16y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: How would you use the functions fseek freed fwrite and ftell?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

Which function is used to move file pointer from any position in file in c language?

FILE-level: ftell/fseek, fgetpos/fsetpos handle-level: lseek


What is header function in c language?

#include- Standard Input /Output Functionsclearerr()fclose()feof()ferror()fflush()fgetc()fgetpos()fgets()fopen()fprintf()fputc()fputs()fread()freopen()fscanf()fseek()fsetpos()ftell()fwrite()getc()getchar()gets()perror()printf()putc()putchar()puts()remove()rename()rewind()scanf()setbuf()setvbuf()sprintf()sscanf()tmpfile()tmpnam()ugetc()vfprintf()vprintf()vsprintf()#include-Standard Mathematical Functionsabs()acos()asin()atan()atan2()ceil()cos()cosh()div()exp()fabs()floor()fmod()frexp()labs()ldexp()ldiv()log()log10()modf()modf()pow()sin()sinh()sqrt()tan()tanh()#include- Standard String Handling Functions-charactersatof()atoi()atol()isalnum()isalpha()iscntrl()isdigit()isgraph()islower()isprint()ispunct()isspace()isupper()isxdigit()memchr()memcmp()memcpy()memmove()memset()strcat()strchr()strcmp()strcoll()strcpy()strcspn()strerror()strlen()strncat()strncmp()strncpy()strpbrk()strrchr()strspn()strstr()strtod()strtok()strtol()strtoul()strxfrm()tolower()toupper()#include-Date and Time Functionsasctime()clock()ctime()difftime()gmtime()localtime()mktime()strftime()time()#include- Memory Functionscalloc()free()malloc()realloc()#include-(Other Functions-exit())#include-(Other Functions-Standard Library Functions)C standard library


Which function is used to determine the position of the put pointer in a file in c plus plus?

The function ftell returns the position of the file pointer for a file.


What are the file operation?

fopen() Creates a new file for use Opens a new existing file for use fclose Closes a file which has been opened for use getc() Reads a character from a file putc() Writes a character to a file fprintf() Writes a set of data values to a file fscanf() Reads a set of data values from a file getw() Reads a integer from a file putw() Writes an integer to the file fseek() Sets the position to a desired point in the file ftell() Gives the current position in the file rewind() Sets the position to the begining of the file


Suggestions for mini project in data structures using c?

1. Define a structure? A. A structure is a set of variables positioned under one name, offering a suitable means of relevant information together. Declaration of structure creates a template which can be used to produce structure objects that are called as its instances. The variables which form the structure are called as members, also referred as fields or elements. 2. Define a pointer? A. A pointer is nothing but a reference to some memory location. As a computer has billions or may be even trillions of cells, every cell can be filled with some data. With the help of pointers, one can know and access the value of its memory cell and its location. 3. What are the advantages of a pointer? A. Dynamic Memory Allocation, Passing structures and array to functions, creating data structures like linked lists, trees and so on, and passing addresses to functions. 4. Define static variable? A. A special variable which is stored in the data segment not like the default auto variable that is stored in stack, is called static variable. It can be initialized through using keyword static before variable name. 5. How are structure passing and returning implemented? A. When you pass structures as arguments to functions, the whole structure is usually pushed on the stack, through as several words as are needed. To avoid this overhead, programmers usually opt to use pointers to structures instead. Some compilers simply pass a pointer to the structure, even though they have to produce a local copy to save pass-by-value semantics. Structures are usually returned from functions in a position pointed to by an additional, compiler-supplied hidden argument to the function. Few older compilers used to use unique, static locations for structure returns, though this made structure-valued functions non-reentrant that ANSI C disapproves. 6. Why can't we compare structures? A. We do not have one or fine way for a compiler to apply structure evaluation that is constant with lower level flavor of C. A plain byte-by-bye comparison could be found on random bits available in unused 'holes' in the structure; such filling is used to maintain the arrangement of following fields accurate. A field-by-field assessment may require improper amounts of recurring code for larger structures. 7. Why doesn't struct x { … };x thestruct; work? A. C is not similar to C++. Typedef names are not automatically produced for structure tags 8. Why doesn't this code: a[i] = i++; work? A. The subexpression i++ creates a side effect. It changes i's value which directs to undefined behavior as i as well is referenced somewhere else in the same expression 9. Can we initialize unions? A. ANSI C permits an initializer for the foremost member of a union. We do not have any standard method of initializing other members (there is no way even under a pre-ANSI compiler to initialize a unionl) 10. Can main () be called recursively? A. Yes, any function that has main() could be called recurrently. 11. Are the variables argc and argv are always local to main? A. Yes, argc and argv are local to main 12. What would be the similar pointer expression for referring the equivalent element as a[p][q][r][s]? A. *( * ( * ( * (a+p) + q ) + r ) + s) 13. Are the expressions *ptr ++ and ++ *ptr same? A. No. *ptr++ increments pointer, not the value pointed by it. Where as ++*ptr increments the value being pointed to by ptr. 14. What are the benefits of using array of pointers to string instead of an array of strings? A. (i) Effective usage of memory (ii) Simpler to swap the strings through moving their pointers when sorting 15. Discuss on pointer arithmetic? A. (i) Assigning pointers to the similar kind of pointers (ii) Subtracting or adding a pointer and an integer (iii) comparing and subtracting two pointers (iv) Decrementing or incrementing the pointer that are pointing to the elements of an array while a pointer to an integer is added by one, the address is added by two. The Compiler does this automatically. Assiging value 0 to the pointer variable and comparing it with the pointer. Pointer consisting 0 points to nothing at all 16. What is the invalid pointer arithmetic? A. (i) Adding, dividing and multiplying two pointers (ii) Adding double or float to pointer (iii) Masking or shifting pointer (iv) Assigning a pointer of one type to another type of pointer. 17. Is the allocated space within a function automatically deallocated when the function returns? A. None of the pointers are similar to that of what they actually point to. Local variables like local pointer variables in a function are automatically deallocated if function returns. However, coming to a local pointer variable, deallocation is nothing but the pointer being deallocated and not blocking of memory allocated to it. Memory that is allocated dynamically always continues till the program terminates or allocation is freed. 18. What are the pointer declarations used in C? A. (i) Pointers to an array (ii) Array of pointers (iii) Pointer to a data type (iv) Pointer to a pointer (v) Function returning a pointer 19. Can we use any name in place of argv and argc as command line arguments? A. Yes. We can certainly use any user defined name instead of argc and argv. 20. Difference between an array of pointers and a pointer to an array? A. Array of pointers (i) Declaration - data type *array_name[size] (ii) Size indicates size of the row (iii) The space for columns may be dynamically allocated Pointer of Arrays (i) Declaration - data_type (*array_name)[size] (ii) Size indicates size of the column 21. Difference between an array name and a pointer variable? A. A pointer variable is a variable while an array name is not a variable but is a fixed address. Unlike a pointer variable, array name cannot be initialized. An array name being a constant value, - and ++ operators can not be applied to it. 22. What is the purpose of rewind()? A. The rewind() function is used to get the file pointer to the starting of the file. Rewind (fp); Fp is a file pointer. And we can get similar effect through feek(fp,0,0); 23. What is the purpose of ftell? A. The ftell() function is used to get the current file referred by the file pointer. ftell(fp); returns a long integer value referring the current location of the file pointed by the file pointer fp. If any error occurs, it will return -1. 24. What is a random access file? A. A file can be accessed at random through function fseek(), fseek(fp,position,origin); file pointer number file pointer fp positions number of bytes offset origin from 0, 1 or 2 denoting the starting, current or end position of the file respectively. 25. How is fopen()used? A. The fopen() function return a file pointer. So a file pointer is declared and is assigned as FILE *fp; fp=fopen(filename,mode); 26. How is a file closed? A. A file is closed using fclose() function 27. What is a file pointer? A. The pointer to a FILE data type is known as a file pointer or a stream pointer. This pointer points to the block of information of the stream/file that had just been accessed. 28. What is a stream? A. A stream is nothing but source of destination of data or simply data that is associated with a hard disk or other input/output device. The source stream that offers data to a program is known as input stream and the source stream that receives the result from the program is known as output stream. 29. What is meant by file opening? A. The process of connecting a program to a file is known as file opening. It needs I/O stream creation in advance to writing or reading the data. 30. What exactly is a file? A. A file is an area of storage in auxiliary storage devices or in hard disks. It includes information in bytes. 31. What are the types of files? A. Files are of two types 1-high level files (stream oriented files) - These are accessed through library functions 2-low level files (system oriented files) - These are accessed through system calls 32. What is the difference between the functions memmove() and memcpy()? A. The arguments of memmove() can overlie in memory, while the arguments of memcpy() cannot 33. What do the functions atoi(), itoa() and gcvt() do? A. atoi() is a macro that converts integer to character. itoa() It converts an integer to string gcvt() It converts a floating point number to string 34. How would you use the functions randomize() and random()? A. Randomize() initiates random number generation with a random value. Random() generates random number between 0 and n-1 35. What are the two forms of #include directive? A. 1. #include"filename" 2. #include 36. What are the facilities provided by preprocessor? A. File inclusion, substitution facility and conditional compilation 37. What is a preprocessor? What are the advantages of preprocessor? A. Preprocessor practices the source code program before it is sent through the compiler. (i) It includes the readability of a program (ii) It helps in easier modification (iii) It facilitates writing convenient programs (iv) It helps in easier debugging (v) It helps in testing a portion of program (vi) It enables implementing comprehensive program 38. Define bit fields? Point out their uses in Structure declaration? A. A bit field is a group of adjoining bits in a one execution based on storage unit which we call as a "word". Usually, the field definition's syntax and access is based on a structure. Struct { unsigned int k :1; unsigned int l :1; unsigned int m :1; }flags; The number that is preceeding the colon indicates the field width. And flag is a variable that includes 3 bit fields. 39. What is the maximum combined length of command line arguments including the space between adjacent arguments? A. It depends on the operating system 40. Compose a program to swap two variables without the help of third variable. A. a^=b; b^=a; a^=b; In the above program, the numbers are converted into binary numbers and then xor operator is executed. 41. What is pre-increment and post-increment? A. ++num (pre-increment) increases value of num before it is used in the expression, where num++ (post-increment) increases the num after its value is used. 42. Difference between logical vs syntax errors? A. Logical error: It occurs by a wrong algorithm or a mistyped statement in such a way that it does not violate the syntax, and these are difficult to find. Syntax error: It involves syntax validation, and compiler prints diagnostic message. Ex: a=b 43. What are C identifiers? A. C identifiers are the names given to different programming elements like arrays, functions and variables. It is usually a combination of a letter, a digit and an underscore. It should start with a letter, and backspace is not allowed. 44. What are C tokens? A. There are 6 classes of C tokens - keywords, constants, identifier, operators, string literals and other separators. 45. What do the 'c' and 'v' in argc and argv stand for? A. The c in argument count, argc stands for the number of the command line argument that the program is invoked with. And v in argument vector, argv is a pointer to an array of the character string that contains the argument. 46. Difference between array and pointer? A. Array: (i) Arrays allocate space, automatically (ii) They can not be reassigned (iii) They can not be resized (iv) sizeof (arrayname) returns the number of bytes occupied by the array. Pointer: (i) Assigned explicitly to point an allocated space. (ii) It can be reassigned (iii) It can be resized using realloc() function (iv) sizeof (p) gives the number of bytes used to store the pointer variable p. 47. Compose a program using Command Line Arguments? A. #include void main(int argc,char *argv[]) { int i; clrscr(); for(i=0;i printf("\n%d",argv[i]); } 48. Write a program which employs Recursion? A. int fact(int n) { return n > 1 ? n * fact(n - 1) : 1; } 49. How can we read/write Structures from/to data files? A. To compose a structure fwrite() can be used as Fwrite(&e, sizeof(e),1,fp); Here, e is a structure variable. A consequent fread() invocation will be able to read the structure back from file. Calling function fwrite() will write out sizeof(e) byte from the address & e. Data files that are written as memory images with function fwrite(), but will not be portable, especially if they include floating point fields or pointers. It is because structures' memory layout is compiler and machine dependent. Hence, structures written as memory are not need to be read back by programs running on other machine, also this is an important factor if the data files that you are writing will ever be exchanged between machines. 50. Can a Structure contain a Pointer to itself? A. Yes such structures are called self-referential structures. Other Questions What is the similarity between a Structure, Union and enumeration? How are Structure passing and returning implemented by the complier? What is the difference between an enumeration and a set of pre-processor # defines? Is it possible to have more than one main() function in a C program? Difference between formal argument and actual argument? What are built in functions? What is an argument? What is a function? What modular programming? Why is it necessary to give the size of an array in an array declaration? Is it possible to have negative index in an array? Difference between linker and linkage? What is an array of pointers? What is pointer to a pointer? What is the purpose of realloc? What is dynamic memory allocation? What is static memory allocation? How pointer variables are initialized? Are the expressions arr and &arr same for an array of integers? What is generic pointer in C? What does the error 'Null Pointer Assignment' means and what causes this error? Are pointers integer? What is a NULL Pointer? Whether it is same as an uninitialized pointer? In C, why is the void pointer useful? When would you use it? What is near pointer? What is a normalized pointer, how do we normalize a pointer? What is a huge pointer? What is a far pointer? Where do we use it? What is the difference between Strings and Arrays? What the advantages of using Unions? What is storage class? What are the different storage classes in C? Differentiate between a for loop and a while loop? What are it uses? What is recursion? Difference between strdup and strcpy? Out of fgets() and gets() which function is safe to use and why? Can we specify variable field width in a scanf() What is the use of typedef? What are register variables? What are the advantages Describe about storage allocation and scope of


Write a C Program on Daewoo a Bus service Reservation System?

// Bus Reservation System # include <stdio.h> # include <conio.h> void install(); void reservation(); void show(); void allbus(); void removebus(); void position(int); struct bus { int bn; //Bus No. float bt; //Arrival Time char bd[20],from[10],to[10],seat[32][10]; //Driver Name,Journey From,Journey To }b; void install() { FILE *fp; fp=fopen("abc.dat", "ab"); clrscr(); if(fp==NULL) { printf("File Creation Failed!"); } else { printf("\n\t\tEnter Bus No.:= "); scanf("%d",&b.bn); printf("\n\t\tEnter Driver's Name:= "); fflush(stdin); scanf("%s",&b.bd); printf("\n\t\tEnter Arrival Time:= "); scanf("%f",&b.bt); printf("\n\t\tEnter Journey From:= "); fflush(stdin); scanf("%s",&b.from); printf("\n\t\tEnter Journey To:= "); fflush(stdin); scanf("%s",&b.to); fwrite(&b, sizeof(b), 1, fp); printf("\n\nBus Successfully Install"); } printf("\n\nPress any key to Conti.."); getche(); fclose(fp); } void reservation() { int number,s; int flag=0; FILE *fp; fp=fopen("abc.dat","rb+"); clrscr(); printf("\n\nEnter Bus No:= "); scanf("%d",&number); if(fp==NULL) { printf("\n\tFile doesn't exist!!!\TRY AGAIN"); } else { while((fread(&b, sizeof(b), 1, fp))==1) { if(b.bn==number) { printf("\nEnter Seat Number:= "); scanf("%d",&s); flag=1; if(s>32) { printf("\n\nThere are only 32 seats available in this bus"); break; } else { if(strcmp(&b.seat[s-1],NULL)==0) { printf("\nEnter Passenger's Name:= "); fflush(stdin); scanf("%s",&b.seat[s-1]); fseek(fp,ftell(fp)-sizeof(b),0); fwrite(&b,sizeof(b),1,fp); printf("\n\nReservation is Success"); break; } else { printf("\n\nThe seat no %d is already resevered",s); } } } } if(flag==0) { printf("\n\nBus Not Available"); } } printf("\n\nPress any key to Conti.."); getche(); fclose(fp); } void show() { int number; int flag=0; FILE *fp; fp=fopen("abc.dat","rb"); clrscr(); printf("\n\nEnter Bus No:= "); scanf("%d",&number); if(fp==NULL) { printf("\n\tFile doesn't exist!!!\TRY AGAIN"); } else { while((fread(&b, sizeof(b), 1, fp))==1) { if(b.bn==number) { printf("\nBus Number:= %d",b.bn); printf("\nBus Driver's Name:= %s",b.bd); printf("\nBus Arravial Time:= %.2f",b.bt); printf("\nBus Journey From:= %s",b.from); printf("\nBus Journey To:= %s",b.to); flag=1; position(b.bn); } } if(flag==0) { printf("\n\nBus Not Available"); } } printf("\n\nPress any key to Conti.."); getche(); fclose(fp); } void position(int a) { int s=0,p=0; int i; printf("\n\n"); for(i=0;i<32;i++) { s++; if(strcmp(&b.seat[i],NULL)==0) { printf("%d. Empty\t",s); p++; } else { printf("%d. %s\t",s,b.seat[i]); } } printf("\n\nThere are %d seats empty in bus no. %d",p,a); } void allbus() { int no=0; FILE *fp; fp=fopen("abc.dat","rb"); clrscr(); if(fp==NULL) { printf("\n\tFile doesn't exist!!!\TRY AGAIN"); } else { while((fread(&b, sizeof(b), 1, fp))==1) { printf("\n\n============================================================================="); no++; printf("\nBus Number:= %d",b.bn); printf("\nBus Driver's Name:= %s",b.bd); printf("\nBus Arravial Time:= %.2f",b.bt); printf("\nBus Journey From:= %s",b.from); printf("\nBus Journey To:= %s",b.to); printf("\n\n============================================================================="); printf("\n\nPress any key to Conti.."); getche(); } printf("\n\nTotal number of Bus(es) present:= %d",no); } printf("\n\nPress any key to Conti.."); getche(); fclose(fp); } void removebus() { int number; int flag=0; char ch; FILE *fp,*ft; fp=fopen("abc.dat","rb"); ft=fopen("temp.dat","wb"); clrscr(); printf("\n\nEnter Bus No:= "); scanf("%d",&number); if(fp==NULL) { printf("\n\tFile doesn't exist!!!\TRY AGAIN"); } else { while((fread(&b, sizeof(b), 1, fp))==1) { if(b.bn==number) { flag=1; printf("\nAre you sure want to Remove Bus %d ??(Y/N)",b.bn); fflush(stdin); scanf("%c", &ch); } } if(flag==0) { printf("\n\nBus Not Available"); } else { if(ch=='y'ch=='Y') { rewind(fp); while((fread(&b, sizeof(b), 1, fp))==1) { if(b.bn!=number) { fwrite(&b, sizeof(b), 1, ft); } } remove("abc.dat"); rename("temp.dat", "abc.dat"); printf("\n\nBus Remove Success"); } else { printf("\n\nBus Not Remove"); } } } printf("\n\nPress any key to Conti.."); getche(); fclose(fp); fclose(ft); } void main() { int c; clrscr(); printf("\n============================================================================="); printf("\n\nDevloped By:= Chhatrala Chirag A. && Samani Jeki J."); printf("\n\nGuided By:= Jatin Sir"); printf("\n\n============================================================================="); printf("\n\n\t\t\tBUS RESERVATION SYSTEM"); printf("\n\n============================================================================="); while(1) { printf("\n\n\n"); printf("\t\t\t1.Install\n\t\t\t2.Reservation\n\t\t\t3.Show\n\t\t\t4.Bus(es) Available\n\t\t\t5.Remove Bus\n\t\t\t6.Exit"); printf("\n\n\t\t\tEnter Your Choice:=> "); scanf("%d",&c); switch(c) { case 1: install(); break; case 2: reservation(); break; case 3: show(); break; case 4: allbus(); break; case 5: removebus(); break; case 6: printf("\n\nThank You!!!!"); printf("\n\nPress any key to Conti.."); getche(); exit(0); break; default: printf("\n\t\t\tInvalid Choice\n\t\t\tTry Again...."); break; } } }


Can you give me c programs?

• Write Your Own Programs o Write your own C program to implement the atoi() function o Implement the memmove() function. What is the difference between the memmove() and memcpy() function? o Write C code to implement the strstr() (search for a substring) function. o Write your own printf() function in C o Implement the strcpy() function. o Implement the strcmp(str1, str2) function. o Implement the substr() function in C. o Write your own copy() function o Write C programs to implement the toupper() and the isupper() functions o Write a C program to implement your own strdup() function. o Write a C program to implement the strlen() function o Write your own strcat() function • C o Write a C program to swap two variables without using a temporary variable o What is the 8 queens problem? Write a C program to solve it. o Write a C program to print a square matrix helically. o Write a C program to reverse a string o Write a C program to reverse the words in a sentence in place. o Write a C program generate permutations. o Write a C program for calculating the factorial of a number o Write a C program to calculate pow(x,n)? o Write a C program which does wildcard pattern matching algorithm o How do you calculate the maximum subarray of a list of numbers? o How to generate Fibonacci numbers? How to find out if a given number is a Fibonacci number or not? Write C programs to do both. o Solve the Rat In A Maze problem using backtracking. o What Little-Endian and Big-Endian? How can I determine whether a machine's byte order is big-endian or little endian? How can we convert from one to another? o Write C code to solve the Tower of Hanoi problem. o Write C code to return a string from a function o Write a C program which produces its own source code as its output o Write a C progam to convert from decimal to any base (binary, hex, oct etc...) o Write C code to check if an integer is a power of 2 or not in a single line? o Write a C program to find the GCD of two numbers. o Finding a duplicated integer problem o Write code to remove duplicates in a sorted array. o Find the maximum of three integers using the ternary operator. o How do you initialize a pointer inside a function? o Write C code to dynamically allocate one, two and three dimensional arrays (using malloc()) o How would you find the size of structure without using sizeof()? o Write a C program to multiply two matrices. o Write a C program to check for palindromes. o Write a C program to convert a decimal number into a binary number. o Write C code to implement the Binary Search algorithm. o Wite code to evaluate a polynomial. o Write code to add two polynomials o Write a program to add two long positive numbers (each represented by linked lists). o How do you compare floating point numbers? o What's a good way to implement complex numbers in C? o How can I display a percentage-done indication on the screen? o Write a program to check if a given year is a leap year or not? o Is there something we can do in C but not in C++? o How to swap the two nibbles in a byte ? o How to scan a string till we hit a new line using scanf()? o Write pseudocode to compare versions (like 115.10.1 vs 115.11.5). o How do you get the line numbers in C? o How to fast multiply a number by 7? o Write a simple piece of code to split a string at equal intervals o Is there a way to multiply matrices in lesser than o(n^3) time complexity? o How do you find out if a machine is 32 bit or 64 bit? o Write a program to have the output go two places at once (to the screen and to a file also) o Write code to round numbers o How can we sum the digits of a given number in single statement? o Given two strings A and B, how would you find out if the characters in B were a subset of the characters in A? o Write a program to merge two arrays in sorted order, so that if an integer is in both the arrays, it gets added into the final array only once. * o Write a program to check if the stack grows up or down o How to add two numbers without using the plus operator? o How to generate prime numbers? How to generate the next prime after a given prime? o Write a program to print numbers from 1 to 100 without using loops! o Write your own trim() or squeeze() function to remove the spaces from a string. o Write your own random number generator function in C.* o Write your own sqrt() function in C* • Sorting Techniques Programs o What is heap sort? o What is the difference between Merge Sort and Quick sort? o Give pseudocode for the mergesort algorithm o Implement the bubble sort algorithm. How can it be improved? Write the code for selection sort, quick sort, insertion sort. o How can I sort things that are too large to bring into memory? • C Pointers Programs o What does *p++ do? Does it increment p or the value pointed by p? o What is a NULL pointer? How is it different from an unitialized pointer? How is a NULL pointer defined? o What is a null pointer assignment error? o Does an array always get converted to a pointer? What is the difference between arr and &arr? How does one declare a pointer to an entire array? o Is the cast to malloc() required at all? o What does malloc() , calloc(), realloc(), free() do? What are the common problems with malloc()? Is there a way to find out how much memory a pointer was allocated? o What's the difference between const char *p, char * const p and const char * const p? o What is a void pointer? Why can't we perform arithmetic on a void * pointer? o What do Segmentation fault, access violation, core dump and Bus error mean? o What is the difference between an array of pointers and a pointer to an array? o What is a memory leak? o What are brk() and sbrk() used for? How are they different from malloc()? o What is a dangling pointer? What are reference counters with respect to pointers? o What do pointers contain? o Is *(*(p+i)+j) is equivalent to p[i][j]? Is num[i] operator? o Can we pass constant values to functions which accept structure arguments? o How does one use fread() and fwrite()? Can we read/write structures to/from files? o Why do structures get padded? Why does sizeof() return a larger size? o Can we determine the offset of a field within a structure and directly access that element? o What are bit fields in structures? o What is a union? Where does one use unions? What are the limitations of unions? • C Macros Programs o How should we write a multi-statement macro? o How can I write a macro which takes a variable number of arguments? o What is the token pasting operator and stringizing operator in C? o Define a macro called SQR which squares a number. • C Headers Programs o What should go in header files? How to prevent a header file being included twice? Whats wrong with including more headers? o Is there a limit on the number of characters in the name of a header file? o Is it acceptable to declare/define a variable in a C header? • C File operations Programs o How do stat(), fstat(), vstat() work? How to check whether a file exists? o How can I insert or delete a line (or record) in the middle of a file? o How can I recover the file name using its file descriptor? o How can I delete a file? How do I copy files? How can I read a directory in a C program? o Whats the use of fopen(), fclose(), fprintf(), getc(), putc(), getw(), putw(), fscanf(), feof(), ftell(), fseek(), rewind(), fread(), fwrite(), fgets(), fputs(), freopen(), fflush(), ungetc()? o How to check if a file is a binary file or an ascii file? • C Declarations and Definitions Programs o What is the difference between char *a and char a[]? o How can I declare an array with only one element and still access elements beyond the first element (in a valid fashion)? o What is the difference between enumeration variables and the preprocessor #defines? • C Functions - built-in Programs o Whats the difference between gets() and fgets()? Whats the correct way to use fgets() when reading a file? o How can I have a variable field width with printf? o How can I specify a variable width in a scanf() format string? o How can I convert numbers to strings (the opposite of atoi)? o Why should one use strncpy() and not strcpy()? What are the problems with strncpy()? o How does the function strtok() work? o Why do we get the floating point formats not linked error? o Why do some people put void cast before each call to printf()? o What is assert() and when would I use it? o What do memcpy(), memchr(), memcmp(), memset(), strdup(), strncat(), strcmp(), strncmp(), strcpy(), strncpy(), strlen(), strchr(), strchr(), strpbrk(), strspn(), strcspn(), strtok() do? o What does alloca() do? o Can you compare two strings like string1==string2? Why do we need strcmp()? o What does printf() return? o What do setjmp() and longjump() functions do? • C Functions - The main function Programs o Whats the prototype of main()? Can main() return a structure? o Is exit(status) equivalent to returning the same status from main()? o Can main() be called recursively? o How to print the arguments received by main()?