background preloader

C

Facebook Twitter

Theocacao: Intro to Memory and Arrays in C. I wrote a C language tutorial for Cocoa Dev Central a ways back, but I didn't get into arrays or memory to keep the tutorial approachable.

Theocacao: Intro to Memory and Arrays in C

I'll write a formal follow-up soon, but I decided to post has some raw materials in the meantime, if just to get corrections in early. So here's a whirlwind tour of arrays and basic C memory. The next entry will discuss more advanced memory techniques. If you're not already comfortable with basic C syntax, I strongly recommend reading the C Language Tutorial for Cocoa at Cocoa Dev Central first. Basic Memory The common unit of measurement for memory is the byte. Int monstersUnderBed; On a G4 running Tiger, this variable uses 4 bytes of memory. If a variable is declared outside of a function, it is typically considered "global," meaning that any function can access it. The stack is used to store variables that are only used inside of a function.

#include <stdio.h> // this global variable resides in the data segment int globalMonsters = 2; Arrays Wrap Up. TCP header format. My.opera. Ver Tema - abrir una ventana de exploracion (file browser) Saber valor contenido en direccion de memoria. Curso pr ctico de programaci n en C ... C mo programar en C/C++ y Java. Memcy Vs strncpy [Archive] FAQs del lenguaje C y sus variantes. Problema: ¿Que son los punteros para que sirven?

FAQs del lenguaje C y sus variantes

Variante: Funciona con todas, pero es la manera tradicional en C Solucion: Los punteros o apuntadores son variables que en vez de contener un valor comun como 345, 'h' o 4.56 tienen una dirección de una localidad de memoria. Los punteros pueden ser de distintos tipos, de hecho pueden ser tantos como tipos de variables. Algunos ejemplos de punteros y sus modo de uso son: int *puntero; Puntero que que va a contener la direccion de un dato tipo int. MI_ESTRUCTURA *puntero2; Puntero que va a contener la direccion de memoria de un dato tipo MI_ESTRUCTURA *puntero=10; Si puntero contiene una direccion valida, el 10 se guardara en esta dirección. Puntero=10; Esto hace que el puntero apunte a la direccion 10(no es muy recomendable hacer eso). puntero=&variable; Apunta a la direccion donde se almacena la variable.

& En caso de punteros es el operador de referencia. Capítulo 5 — OpenCourseWare - Universidad Carlos III de Madrid. A la definición detallada del conjunto de instrucciones que es capaz de ejecutar un procesador se le denomina su “juego de instrucciones” (o, en ingles, Instruction Set architecture).

Capítulo 5 — OpenCourseWare - Universidad Carlos III de Madrid

Esta definición es la que determina de forma inequívoca el efecto de cada instrucción sobre las diferentes partes de la arquitectura del procesador. El número de instrucciones máquina puede llegar a ser muy elevado debido a que la misma instrucción (por ejemplo, la de suma) se puede ejecutar sobre diferentes tipos de datos y con diferentes variantes (números naturales, enteros, etc.) 5.1. Tipos de juegos de instrucciones La decisión de qué instrucciones es capaz de ejecutar un procesador es una de las más importantes y en buena medida es determinante en el rendimiento a la hora de ejecutar programas. La decisión de qué instrucciones incluir en un procesador está también influenciada por la complejidad que requiere su diseño. Organizar un proyecto en C con librerias.

Los programadores newbies en Linux podeis aprovechar este post para aprender a compilar y a usar vuestras librerías en C.

Organizar un proyecto en C con librerias

Encontrareis muchos manuales en Internet mucho mas extensos y elaborados que este, pero yo lo que quiero transmitiros son conocimientos de forma rapida, para que lo pilleis a la primera sin necesidad de que perdais mucho tiempo. Así que, sin anestesia, nos ponemos manos a la obra: Información de background Segun programamos, encontramos funciones que se usan en muchas partes de nuestro codigo.

Nos interesa tenerlas en un directorio separado, compiladas y listas para poder usarlas siempre que queramos. La librería estara compuesta por uno o mas ficheros .c fuentes y uno o mas ficheros .h de cabeceras. . $ cat milib.h#ifndef _MI_LIB_H#define _MI_LIB_Hint suma(int a, int b);int resta(int a, int b);#endif. Errores en C ~ Snippets Tricks. La administración de errores es y siempre será una buena práctica de programación, ya que es posible que tengamos que idear con problemas o condiciones de errores no esperadas.

Veamos que nos ofrece el lenguaje C para administrar los errores. Veamos algunas funciones de la biblioteca estándar (ANSI/ISO C) que da soporte para tratar los errores. Estas funciones detectan el problema, nos permite informar al usuario de lo que ha sucedido y nos permiten controlar como y cuando termina un programa. 1 abort Esta función devuelve un valor que indica al sistema operativo que el programa termino sin éxito (por lo que ha abortado por alguna razón desconocida). Al ejecutar el siguiente ejemplo notaremos que no se ejecutan las siguientes funciones después de abort() . #include int main( void ) puts ( "Mi secreto es.... abort (); puts ( "... pero no le digas a nadie ...

" );