Hello coders, welcome back to codingbroz !!! Today we are back with interesting and most important C Programming interview questions that every computer science student and engineer must know. These are some important C programming interview questions which are generally asked in many technical interview in software companies.
C programming language is the base of every modern programming language that exists today like python, c++, java etc. So, it becomes very important to know the basics of C programming and these important C programming interview questions if you want to get a software engineering job or want to become a good programmer.
C programming language is the fundamental of programming which is taught to every computer science student in their college. Now, lets see want are those important C programming interview questions that maybe get asked in your next coding interview or coding test.
Top C Programming interview questions
What is the difference between an uninitialized pointer and a null pointer?
Ans. An uninitialized pointer is a pointer which points unknown memory location while the null pointer is pointer which points a null value or base address of the segment.
What is FILE pointer in C?
Ans. File pointer is a pointer which is used to handle and keep track on the files being accessed. A new data type called “FILE” is used to declare file pointer. This data type is defined in stdio.h
file. File pointer is declared as FILE *fp
. Where ‘fp’ is a file pointer.
fopen()
function is used to open a file that returns a FILE pointer. Once file is opened, file pointer can be used to perform I/O operations on the file. fclose()
function is used to close the file.
What is the translation unit?
Ans. A translation unit is a set of files seen by the compiler. It includes the source code under consideration and files that are included such as header files and other disk files contain C code.
Why is C known as a mother language?
Ans. C is known as a mother language because most of the compilers and JVMs are written in C language. Most of the languages which are developed after C language has borrowed heavily from it like C++, Python, Rust, javascript, etc. It introduces new core concepts like arrays, functions, file handling which are used in these languages.
What is a NULL pointer in C?
Ans. A pointer that doesn’t refer to any address of value but NULL is known as a NULL pointer. When we assign a ‘0’ value to a pointer of any type, then it becomes a Null pointer.
What is a far pointer in C?
Ans. A pointer which can access all the 16 segments (whole residence memory) of RAM is known as far pointer. A far pointer is a 32-bit pointer that obtains information outside the memory in a given section.
What is dangling pointer in C?
Ans. If a pointer is pointing any memory location, but meanwhile another pointer deletes the memory occupied by the first pointer while the first pointer still points to that memory location, the first pointer will be known as a dangling pointer. This problem is known as a dangling pointer problem.
Dangling pointer arises when an object is deleted without modifying the value of the pointer. The pointer points to the deallocated memory.
Let’s see this through an example.
#include<stdio.h> void main() { int *ptr = malloc(constant value); //allocating a memory space. free(ptr); //ptr becomes a dangling pointer. }
In the above example, initially memory is allocated to the pointer variable ptr, and then the memory is deallocated from the pointer variable. Now, pointer variable, i.e., ptr becomes a dangling pointer.
How to overcome the problem of a dangling pointer
The problem of a dangling pointer can be overcome by assigning a NULL value to the dangling pointer. Let’s understand this through an example:
#include<stdio.h> void main() { int *ptr = malloc(constant value); //allocating a memory space. free(ptr); //ptr becomes a dangling pointer. ptr=NULL; //Now, ptr is no longer a dangling pointer. }
In the above example, after deallocating the memory from a pointer variable, ptr is assigned to a NULL value. This means that ptr does not point to any memory location. Therefore, it is no longer a dangling pointer.
What is a sequential access file?
Ans. When writing programs that will store and retrieve data in a file, it is possible to designate that file into different forms. A sequential access file is such that data are saved in sequential order: one data is placed into the file after another. To access a particular data within the sequential access file, data has to be read one data at a time, until the right one is reached.
Suppose a global variable and local variable have the same name. Is it possible to access a global variable from a block where a local variable is defined in C?
Ans. No, it is not possible in C. It is always the most local variable that gets preference.