• +91 9971497814
  • info@interviewmaterial.com

Computer Interview Questions Answers

C Interview Questions Answers

Question - 61 : - What is a function and built-in function?

Answer - 61 : - A large program is subdivided into a number of smaller programs or subprograms. Each subprogram specifies one or more actions to be performed for a large program. such subprograms are functions. The function supports only static and extern storage classes. By default, function assumes extern storage class. functions have global scope. Only register or auto storage class is allowed in the function parameters. Built-in functions that predefined and supplied along with the compiler are known as built-in functions. They are also known as library functions.

Question - 62 : - Diffenentiate between an internal static and external static variable?

Answer - 62 : - An internal static variable is declared inside a block with static storage class whereas an external static variable is declared outside all the blocks in a file.An internal static variable has persistent storage,block scope and no linkage.An external static variable has permanent storage,file scope and internal linkage.

Question - 63 : - Difference between arrays and pointers?

Answer - 63 : - - Pointers are used to manipulate data using the address. Pointers use * operator to access the data pointed to by them - Arrays use subscripted variables to access and manipulate data. Array variables can be equivalently written using pointer expression.

Question - 64 : - What will be printed as the result of the operation below: main() { int a=0; if(a==0) printf(“Tech Preparation\n”); printf(“Tech Preparation\n”); }

Answer - 64 : - Two lines with “Tech Preparation” will be printed.

Question - 65 : - What is diff between malloc()/free() and new/delete?

Answer - 65 : - malloc allocates memory for object in heap but doesn't invoke object's constructor to initiallize the object. new allocates memory and also invokes constructor to initialize the object. malloc() and free() do not support object semantics Does not construct and destruct objects string * ptr = (string *)(malloc (sizeof(string))) Are not safe Does not calculate the size of the objects that it construct Returns a pointer to void int *p = (int *) (malloc(sizeof(int))); int *p = new int; Are not extensible new and delete can be overloaded in a class "delete" first calls the object's termination routine (i.e. its destructor) and then releases the space the object occupied on the heap memory. If an array of objects was created using new, then delete must be told that it is dealing with an array by preceding the name with an empty []:- Int_t *my_ints = new Int_t[10]; ... delete []my_ints;

Question - 66 : - When does the compiler not implicitly generate the address of the first element of an array?

Answer - 66 : - Whenever an array name appears in an expression such as - array as an operand of the sizeof operator - array as an operand of & operator - array as a string literal initializer for a character array Then the compiler does not implicitly generate the address of the address of the first element of an array.

Question - 67 : - What are the different storage classes in C?

Answer - 67 : - C has three types of storage: automatic, static and allocated. Variable having block scope and without static specifier have automatic storage duration. Variables with block scope, and with static specifier have static scope. Global variables (i.e, file scope) with or without the the static specifier also have static scope. Memory obtained from calls to malloc(), alloc() or realloc() belongs to allocated storage class.

Question - 68 : - What is the difference between declaring a variable and defining a variable?

Answer - 68 : - Declaring a variable means describing its type to the compiler but not allocating any space for it. Defining a variable means declaring it and also allocating space to hold the variable. You can also initialize a variable at the time it is defined.

Question - 69 : - What is static memory allocation and dynamic memory allocation?

Answer - 69 : - Static memory allocation: The compiler allocates the required memory space for a declared variable.By using the address of operator,the reserved address is obtained and this address may be assigned to a pointer variable.Since most of the declared variable have static memory,this way of assigning pointer value to a pointer variable is known as static memory allocation. memory is assigned during compilation time. Dynamic memory allocation: It uses functions such as malloc( ) or calloc( ) to get memory dynamically.If these functions are used to get memory dynamically and the values returned by these functions are assingned to pointer variables, such assignments are known as dynamic memory allocation.memory is assined during run time.

Question - 70 : - What is the difference between a string copy (strcpy) and a memory copy (memcpy)? When should each be used?

Answer - 70 : - The strcpy() function is designed to work exclusively with strings. It copies each byte of the source string to the destination string and stops when the terminating null character () has been moved. On the other hand, the memcpy() function is designed to work with any type of data. Because not all data ends with a null character, you must provide the memcpy() function with the number of bytes you want to copy from the source to the destination.

Computer Contributors

Rajeev Katiyar
Yes Baroda

Share your email for latest updates


Our partners