4. 1
Arreglos Unidimensionales
elemento 0 elemento 1 elemento n-1
tipo nombre_variable[tamaño];
Ejemplo:
Realizar un programa en el que se ingresen 10 enteros, y luego se
sumen sus elementos. Mostrar el resultado.
5. 1
Ejemplo
#include <stdio.h>
int main(){
int x[10];
int i,suma;
for (i=0;i<10;i++){
printf ("Ingresar entero: ");
scanf("%d",&x[i]);
}
suma=0;
for (i=0;i<10;i++)
suma+=x[i];
printf(" El resultado de la suma es = %dn",suma);
return 0;
}
7. 1
Paso de Arreglos unidimensionales
a funciones
• Forma 1: Arreglo delimitado
#include <stdio.h>
func1(int x[100]){
.........
}
int main(){
int a[100];
…..
func1(a);
……...
return 0;
}
Se pasa la dirección del primer
elemento del arreglo a la función
Se debe especificar el tamaño
del arreglo
8. 1
Paso de Arreglos unidimensionales
a funciones
• Forma 2: Arreglo no delimitado
#include <stdio.h>
func1(int x[]){
……...
}
int main(){
int a[10];
…..
func1(a);
……...
return 0;
}
No se especifica el tamaño del
arreglo
9. 1
Paso de Arreglos unidimensionales
a funciones
• Nota:
– Al llamar una función pasándole un arreglo como parámetro,
como se le entrega la dirección del primer elemento,
entonces si los valores del arreglo son modificados dentro de
la función, también son modificados en la función que llama.
13. Biblioteca de funciones de
Manejo de cadenas
Función Prototipo Acción Retorna
strcpy() char *strcpy(char *s1,const char *s2); Copia s2 en s1. s1
strcat() char *strcat(char *s1,const char *s2); Concatena s2 en s1. s1
strlen() int strlen(const char *s1); Longitud de s1
strcmp() int strcmp(const char *s1,const char *s2); Compara s2 con s1 0 si son iguales
>0 si s1>s2
<0 si s1<s2
Biblioteca: string.h
Las cadenas o string no son un tipo de dato en C, por lo tanto, las
operaciones sobre cadenas se realizan mediante funciones de
biblioteca que ahorran el trabajo byte a byte (podemos crear otras).
14. 1
Ejemplo
#include <string.h>
#include <stdio.h>
int main(void){
char c1[64,c2[64];
printf("Ingrese un string:");
scanf("%s",c1);
printf("Ingrese un string:");
scanf("%s",c2);
printf("Longitudes: %d %n",strlen(c1),strlen(c2));
if(!strcmp(c1,c2)) printf("Son igualesn");
strcat(c1,c2);
printf("%sn",c1);
return 0;
}
17. 1
Punteros a punteros:
argumentos de la función main()
main(int argc, char **argv){....}
cdefghi0
z0
ertyuiopasdfg0
main(int argc, char *argv[]){....}
argv:
0
Ejemplo: $z ertyuiopasdfg cdefghi
Dos formas equivalentes para declarar los argumentos:
18. 23
Argumentos de main()
• El estándar ANSI define dos argumentos de main():
argc y argv.
• Permite pasar información al programa de C mediante
argumentos de línea de órdenes.
• argc : contiene el número de argumentos, y es entero.
• argv : es un puntero a un arreglo de caracteres.
./programa argumento1 argumento2 ….
Línea de órdenes
19. 23
Argumentos de main() (cont.)
#include <stdio.h>
int main(int argc, char *argv[]){
int i;
for(i=0;i<argc;i++){
printf(“El argumento %d es: %s”,i,argv[i]);
return 0;
}
$./programa aaa bb
El argumento 0 es: ./programa
El argumento 1 es: aaa
El argumento 2 es: bb
23. 1
Arreglos Multidimensionales
• Definición:
– Es un arreglo con kdimensiones, el cual está indexado por
medio de k índices.
A[m]….[n]
• Declaración:
tipo nombre_variable[tamaño_1]...[tamaño_k];
k