Programmation Avancée en C


restrict.c

00001 #include <stdio.h>
00002 
00003 /* Ajoute le vecteur source au vecteur destination */
00004 void vector_add(int *restrict dst, const int *restrict src, int n) {
00005     for (; n > 0; n--) { *dst++ += *src++; }
00006 }
00007 
00008 
00009 int main() 
00010 {
00011     int i;
00012     int tab1[] = {1, 2, 3};
00013     int tab2[] = {1, 1, 1};
00014     vector_add(tab2, tab1, sizeof(tab1)/sizeof(int));
00015     for (i=0; i<3; i++) printf("%d ", tab2[i]);
00016     printf("\n");
00017     return 0;
00018 }