C Preguntas de la entrevista y respuestas (página -5)

 

definido por el usuario y Funciones de la biblioteca

 

51) ¿Cuál es la diferencia entre el Usuario Definir y Funciones de la biblioteca?

 

Funciones de la biblioteca:

Las funciones, que están predefinidos en cualquier archivo de cabecera, sólo include archivo de cabecera

y llamar a las funciones.

 

Por ejemplo, printf es una función de la biblioteca, ya que de declaración y definición son existe en el archivo stdio.h cabecera.

 

usuario definir funciones (UDF):

 

Las funciones, que se definen por el programador. declaraciones, llamados y las definiciones de funciones son definidas por el programador, las funciones que son creados por el programador se conoce como usuario definir funciones (UDF de).

 

52) Cuando debemos usar / crear de UDF (usuario definir funciones)?

 

Es una buena técnica de programación para crear usuario definir funciones, cuando el código fuente es demasiado grande o complicado y tiene múltiples tareas de los diferentes tipos. Luego dividir el código en funciones (que también se conocen como módulos) y llamarlos siempre que sea necesario. Este proceso también se conoce como la modularización del código. Rompiendo código en partes pequeñas y el nombre de las piezas pequeñas se conoce como la función (también podemos definir como “funciones se ajustan de usuario definir instrucciones”).

 

53) ¿Se puede utilizar la instrucción return en una definición de función, tipo de función return if es void?

 

If función tiene cualquier tipo return, entonces return un valor de acuerdo con ese tipo. También podemos utilizar la instrucción return, la función if no tiene ningún tipo return. Cuando alcances del compilador en la ejecución del programa de return salen de la función y no se ejecutarán más declaraciones.

 

Considere el ejemplo:

 

    void anyFun(int a)
      {
          if(a==0)
  	        return;
          printf("Value is not Zero.");
      }

 

En este caso, estamos comprobando el valor de un , if es 0, la ejecución del programa return de la función para la función que llama. Y if no es 0, se imprimirá “El valor no es cero” .

 

54) ¿Son salida () y return declaraciones misma en la definición de la función?

 

Sin , ambos son diferentes. salida () se utiliza cuando se quiere salir del programa inmediatamente while return se utiliza para return el control de la ejecución del programa a partir de la función llamada a la función que llama.

 

55) ¿Cuáles son llamados y llamadas a funciones?

 

función madre que llama a cualquier función se conoce como la función que llama y la función que está siendo llamado es conocido como función que llama .

 

Considere los ejemplos:

 

    int main()
      {
  	    abcFunc()
      }

 

Aquí, abcFunc () se llama dentro de main () función, por lo () se llama, main abcFunc () está llamando función.

 

56) ¿Qué es una función ?

 

Por while, funciones C son globales; se les puede llamar cualquier archivo dentro del proyecto. Cuando se desea restringir una función para llamar en otro archivo, sólo lo hacen static . default palabra clave function restringir en el archivo donde se declara, no se puede acceder en otro archivo.

 

Considere el ejemplo:

 

    static int myFun(void)
      {
          printf("Hello Guys!!! I’m a static function.");
          return 0;
      }

 

57) ¿Dónde y cuánto espacio ocupa la función?

 

función A tiene dos partes: cuerpo de la función (parte ejecutable / set de declaraciones) y datos de función (variables de la función). cuerpo de la función (parte ejecutable es decir, el código de función) almacenado en el segmento de datos . Pero cuando una función es llamada por la función que llama, se necesita espacio en el segmento de pila de acuerdo a las variables declaradas en la función.

 

58) Explicar llamada por valor y llamada por referencia?

 

llamada por valor:

 

Cuando el valor se pasa como parámetro de la función, que se conoce como llamada por valor. En este valor método de copia en argumentos reales a los argumentos formales se hará ningún cambio en el argumento formal (argumentos / variables que están utilizando en la declaración de la función). No hay cambios no se realizan en argumentos reales que están pasando en la función que llama.

 

Call por referencia:

 

Cuando referencia de la variable (puntero) se pasa como parámetro de función, que se conoce como llamada por referencia. En la referencia de esta variable método (dirección) pasa a parámetro de formato, que son un tipo de puntero. Todos los cambios se realizan en argumentos reales.

 

Consideremos los siguientes ejemplos:

 

llamada por valor:

 

    #include <stdio.h>
      void fun(int a,int b)
      {
          a+=10;
          b+=10;
      }
      int main()
      {
          int val1=10;
          int val2=10;
          printf("nValue before function calling : %d, %d",val1,val2);
          fun(val1,val2);
          printf("nValue after function calling : %d, %d",val1,val2);
          return 0;
      }

 

salida

 

    Value before function calling : 10, 10
      Value after function calling : 10, 10

 

Call por referencia:

 

#include <stdio.h>
  void fun(int *a,int *b)
  {
  	*a+=10;
  	*b+=10;
  }
  int main()
  {
      int val1=10;
      int val2=10;
      printf("nValue before function calling : %d, %d",val1,val2);
      fun(&val1,&val2);
      printf("nValue after function calling : %d, %d",val1,val2);
      return 0;
  }

 

salida

 

    Value before function calling : 10, 10
      Value after function calling : 20, 20

 

59) ¿Cuáles son parámetros / argumentos reales y formales?

 

Los parámetros / argumentos que se pasan por la función que llama a la función llamada se conocen como parámetros reales static los parámetros / argumentos que se declaran en las declaraciones de funciones se conocen como parámetros formales .

 

Considere el ejemplo:

 

    #include <stdio.h>
      void fun(int a,int b)
      {
          a+=10;
          b+=10;
      }
      int main()
      {
          int val1=10;
          int val2=10;
          printf("nValue before function calling : %d, %d",val1,val2);
          fun(val1,val2);
          printf("nValue after function calling : %d, %d",val1,val2);
          return 0;
      }

 

Aquí, val1, val2 son reales parámetros / argumentos static a, b son formales parámetros / argumentos.

 

60) ¿Podemos definir una función con una función?

 

No, no podemos definir una función con una función. Pero podemos declarar una función con en la función, que será accesible sólo para esa función.

 

Considere el ejemplo:

 

    #include <stdio.h>
      void fun1(void)
      {
  	    void fun2(void);	
  	    printf("nI am fun1");
  	    fun2();
      }
      int main()
      {
  	    fun1();
  	    return 0;
      }
      void fun2(void)
      {
  	    printf("nI am fun2");
      }

 

salida

 

    I am fun1
      I am fun2

 

Ahora, trata de llamar fun2 en while ()

 

    #include <stdio.h>
      void fun1(void)
      {
  	    void fun2(void);	
  	    printf("nI am fun1");
  	    fun2();
      }
      int main()
      {
  	    fun1();
          fun2();
  	    return 0;
      }
      void fun2(void)
      {
  	    printf("nI am fun2");
      }

 

salida

 

    Error: ‘fun2’: Identifier not found.

 

Aquí, fun2 no accederá en while () porque se ha declarado en fun1.

 

61) ¿Cuál es la función de puntero, ¿cómo va a declarar, definir y llamada?

 

Cuando un puntero apunta a una función, que se conoce como puntero de función o un puntero a una función.

 

Considere el ejemplo – la forma de declarar, definir y llamada:

 

    #include <stdio.h>
      int sumOfTwoNumbers(int a, int b) {
          int c;
  	    c=a+b;
  	    return c;
      }
      int (*funcPointer)(int,int);
      int main()
      {
  	    int val1=10;
  	    int val2=10;
  	    int sum =0;
  	    funcPointer=&sumOfTwoNumbers;
  	    sum=(*funcPointer)(val1,val2); 
  	    printf("nSum is = %d",sum);
  	    return 0;
      }

 

salida

 

    Sum is = 20

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *