1. Question:What is C language? 

    Answer
    The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications.

    1. Report
  2. Question:What does static variable mean? 

    Answer
    There are 3 main uses for the static.
    
    1. If you declare within a function: It retains the value between function calls
    
    2. If it is declared for a function name: By default function is extern..so it will be visible from other files if the function declaration is as static..it is invisible for the outer files 
    
    3. Static for global variables: By default we can use the global variables from outside files If it is static global..that variable is limited to with in the file.
    #include <stdio.h>
    int t = 10;  
    main(){
    int x = 0; 
    void funct1();
    funct1();            
    printf("After first call \n");
    funct1();            
    printf("After second call \n");
    funct1();            
    printf("After third call \n");
    }
    void funct1()
    {
        static int y = 0;  
        int z = 10;             
        printf("value of y %d z %d",y,z);
        y=y+10;
    }
    value of y 0 z 10 After first call value of y 10 z 10 After second call value of y 20 z 10 After third call

    1. Report
  3. Question:What are the different storage classes in C? 

    Answer
    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.

    1. Report
  4. Question:Can static variables be declared in a header file? 

    Answer
    You can’t declare a static variable without defining it as well (this is because the storage class modifiers static and extern are mutually exclusive). A static variable can be defined in a header file, but this would cause each source file that included the header file to have its own private copy of the variable, which is probably not what was intended.

    1. Report
  5. Question:Can a variable be both constant and volatile? 

    Answer
    Yes. The const modifier means that this code cannot change the value of the variable, but that does not mean that the value cannot be changed by means outside this code. 
    
    The function itself did not change the value of the timer, so it was declared const. However, the value was changed by hardware on the computer, so it was declared volatile. If a variable is both const and volatile, the two modifiers can appear in either order.

    1. Report
  6. Question:What is a null pointer? 

    Answer
    There are times when it’s necessary to have a pointer that doesn’t point to anything. The macro NULL, defined in , has a value that’s guaranteed to be different from any valid pointer. NULL is a literal zero, possibly cast to void* or char*.
    
    Some people, notably C++ programmers, prefer to use 0 rather than NULL. 
    The null pointer is used in three ways:
    1) To stop indirection in a recursive data structure.
    2) As an error value.
    3) As a sentinel value.

    1. Report
  7. Question:What is the difference between calloc() and malloc() ? 

    Answer
    calloc(...) allocates a block of memory for an array of elements of a certain size. By default the block is initialized to 0. The total number of memory allocated will be (number_of_elements * size).
    
    malloc(...) takes in only a single argument which is the memory required in bytes. malloc(...) allocated bytes of memory and not blocks of memory like calloc(...).
    
    malloc(...) allocates memory blocks and returns a void pointer to the allocated space, or NULL if there is insufficient memory available.
    
    calloc(...) allocates an array in memory with elements initialized to 0 and returns a pointer to the allocated space. calloc(...) calls malloc(...) in order to use the C++ _set_new_mode function to set the new handler mode.

    1. Report
  8. Question:What is the difference between printf() and sprintf() ? 

    Answer
    sprintf() writes data to the character array whereas printf(...) writes data to the standard output device.

    1. Report
  9. Question:How to reduce a final size of executable? 

    Answer
    Size of the final executable can be reduced using dynamic linking for libraries.

    1. Report
  10. Question:Write down the equivalent pointer expression for referring the same element a[i][j][k][l] ? 

    Answer
    a[i] == *(a+i)
    a[i][j] == *(*(a+i)+j)
    a[i][j][k] == *(*(*(a+i)+j)+k)
    a[i][j][k][l] == *(*(*(*(a+i)+j)+k)+l)

    1. Report
Copyright © 2024. Powered by Intellect Software Ltd