¿Cuál es la diferencia entre y “stdio.h”?

Posible duplicado:
¿Cuál es la diferencia entre #include y #include “filename”

En ambos casos no hay error … ¿Hay alguna diferencia entre ellos?

busca en las ubicaciones estándar de la biblioteca C, mientras que "stdio.h" busca en el directorio actual.

Idealmente, usaría <...> para las bibliotecas de C estándar y "..." para las bibliotecas que escribe y están presentes en el directorio actual.

La segunda versión se especifica para buscar primero en una ubicación definida por la implementación, y luego, si no se encuentra el archivo, busque en el mismo lugar que la versión <...> , que busca en las rutas generalmente especificadas por la línea de comando -I opción y por incorporados incluyen rutas (que señalan la ubicación de la biblioteca estándar y los encabezados del sistema).

Generalmente, las implementaciones definen esa ubicación como relativa a la ubicación del archivo incluido.

El <> le dice al compilador que busque el archivo en los encabezados de las bibliotecas y “” le dice que mire a su alrededor entre los encabezados de su aplicación.

En cuanto a por qué los dos funcionan para usted, tal vez su comstackdor también busque el nombre de archivo en los encabezados de la biblioteca en caso de que no encuentre uno entre los suyos.

Usted usa #include cuando quiere decir: “busque un archivo con este nombre en el directorio de inclusión del sistema”. Utiliza #include “doublequoted” cuando quieres decir: “busca un archivo con este nombre en el directorio de inclusión de mi propia aplicación; sin embargo, si no se puede encontrar, busca en el directorio de inclusión del sistema”.

En el caso del comstackdor, primero busque el archivo de encabezado en su directorio local donde se encuentra el archivo .c

mientras que en el caso de <> compilador solo busque en la carpeta de archivos de cabecera

#include está destinado a los encabezados del sistema, mientras que #include "something.h" es para los encabezados de su propio progtwig. Los encabezados del sistema se buscan en los directorios del sistema habituales (y aquellos incluidos con el argumento -I ), en los que se buscan los encabezados en el directorio actual y luego en las mismas ubicaciones que los encabezados del sistema.

vea http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC6

Para los comstackdores que he usado, “…” comienza a buscar el archivo de inclusión en el mismo directorio que el archivo de origen que se está comstackndo, luego la ruta de inclusión. Las entradas con <...> comienzan en la ruta de inclusión, saltándose el dado actual a menos que esté en la ruta de inclusión.

Normalmente, los archivos de encabezado estándar están encerrados por <> y otros archivos específicos del usuario están especificados con “.

La diferencia es que los archivos de encabezado realizados por el desarrollador se incluyen entre “”. Los archivos de encabezado que ya están en el sistema se incluyen con <>. Incluso los encabezados <> necesitan la directiva -I si los directorios que están ubicados no están en la ruta de búsqueda del comstackdor.

En pocas palabras: sus encabezados con “”, encabezados de sistema con <>

refiere a un encabezado (no a un archivo de encabezado )
"stdio.h" refiere a un archivo fuente.

Los encabezados no necesitan existir físicamente en la implementación; la forma en que se identifican es definida por la implementación (normalmente los encabezados son archivos en directorios específicos)

Cuando la directiva usa " , el archivo fuente se busca de una manera definida por la implementación y, si no se encuentra, la directiva se vuelve a procesar como si estuviera escrita con < y > en primer lugar.