Tabla de contenido
Desarrollo de iOS: c, swift, object-c
Sección 1 Terminal genera archivo .c
Sección 2 Tipos de datos comunes
Sección 4: Cómo generar números aleatorios
Sección 8: complemento de anotación
Sección 9: Teclas de acceso directo para comentarios de documentos
Sección 10: Instrucciones de preprocesamiento
Sección 12: Código original, código complemento, código inverso
Sección 12: Operaciones de bits &, |,! , ^
Sección 15: almacenamiento de tipo char
Sección 16: El origen del valor de la basura
Sección 18: Matriz bidimensional
Sección 20: Variables de puntero
Sección 21: La naturaleza de la indexación
Sección 23: Punteros y cadenas
Sección 25: palabra clave const
Sección 27: Punteros como parámetros y valores de retorno
Sección 28: Punteros de función
Variables miembro de acceso al puntero:
Si desea devolver la dirección de la estructura:
Sección 31: Definición de tipo typedef
typedef declara una estructura
typedef declara una enumeración
Sección 32 Instrucciones de preprocesamiento
Sección 33: Definición de macro
Nombre de macro con parámetros
Sección 34: Instrucciones de compilación condicional
Artículo 35: Estático y externo
Desarrollo de iOS: c, swift, object-c
Sección 1 Terminal genera archivo .c
Sección 2 Tipos de datos comunes
Sección 3 Operadores, scanf
Sección 4
Sección 4: Cómo generar números aleatorios
Sección 5: bucle while
Sección 6: ir a
Sección 7: Función
Sección 8: complemento de anotación
Sección 9: Teclas de acceso directo para comentarios de documentos
opción+comando+/
Sección 10: Instrucciones de preprocesamiento
Sección 11: Sistema básico
Por ejemplo, 023 representa un número octal y 0 es opcional.
Sección 12: Memoria ocupada por variables
Las constantes son números enteros, por ejemplo: 'a'=97
Sección 12: Código original, código complemento, código inverso
Sección 12: Operaciones de bits &, |,! , ^
Todas las operaciones se realizan utilizando códigos de complemento a dos.
Sección 13: <<, >>
Desplazar a la derecha: llene los bits vacantes a la izquierda con el número más a la izquierda, como 1100, desplace 1 bit a la derecha, lo que significa 1110
Sección 14: modificador int
Sección 15: almacenamiento de tipo char
Sección 16: El origen del valor de la basura
Sección 17: Matriz
Sección 18: Matriz bidimensional
Sección 19: Cuerda
Funciones de uso común:
Sección 20: Variables de puntero
Pasado como parámetro formal
Similar a ref, logra múltiples efectos de valor de retorno
Sección 21: La naturaleza de la indexación
Sección 22: Resta de punteros
Sección 23: Punteros y cadenas
char* se almacena en el área constante, similar a const, por lo que no se puede cambiar
Sección 24: fput, fget
f significa archivo
Sección 25: palabra clave const
Sección 26: malloc
La principal diferencia es la forma en que se inicializa la memoria: los valores en los bloques de memoria asignados por malloc no están definidos,
Cada byte en el bloque de memoria asignado por calloc se inicializa a 0.
Si la aplicación falla, se devolverá nulo.
Sección 27: Punteros como parámetros y valores de retorno
Sección 28: Punteros de función
Sección 29: Estructura
Inicialización de estructura:
Matriz de estructura:
Acceso de puntero a variables miembro:
Si desea devolver la dirección de la estructura:
Crear en el área del montón
Sección 30: Enumeración
Sección 31: Definición de tipo typedef
typedef declara una estructura
typedef declara una enumeración
Sección 32 Instrucciones de preprocesamiento
Sección 33: Definición de macro
Diferencia con typedef
Nombre de macro con parámetros
Transferencia de color verdadero, porque cuando se precompila, la variable aún no tiene un valor, por lo que solo se puede pasar el nombre de la variable.
Sección 34: Instrucciones de compilación condicional
diferencia de si
En archivos de encabezado, evite que un archivo de encabezado se importe varias veces
Artículo 35: Estático y externo
1. Extienda el ciclo de vida de las variables: por lo general, las variables locales se destruirán después de que se ejecute la función, pero las variables locales modificadas con estática seguirán existiendo después de que se ejecute la función hasta el final del programa . Esto significa que el valor de la variable permanece sin cambios entre llamadas a funciones.
2. Proteja los derechos de acceso de las variables: solo se puede acceder a las variables locales modificadas con estática dentro de la función que las define, y otras funciones no pueden acceder directamente a la variable. Esto evita que se modifiquen o accedan accidentalmente a las variables y mejora la seguridad del programa.
3. Implementar contadores estáticos: las variables locales modificadas con estática se pueden usar para implementar contadores estáticos. Por ejemplo, cada vez que se llama a una función, el valor de esta variable se incrementa y se retiene en la siguiente llamada a la función.