Differences

This shows you the differences between two versions of the page.

Link to this comparison view

programare-cc:breviar-6 [2020/11/17 10:55]
bogdan.nutu
programare-cc:breviar-6 [2020/11/17 10:57] (current)
bogdan.nutu
Line 1: Line 1:
-===== Breviar 06  =====+===== Breviar 06 - Funcții cu vectori ​=====
  
 **În acest laborator veţi învăţa să:** **În acest laborator veţi învăţa să:**
Line 27: Line 27:
    for (i = 0; i < n; i++)    for (i = 0; i < n; i++)
       v[i] = v[i] + x;       v[i] = v[i] + x;
 +}
 +</​code>​
 +
 +==== Problema rezolvata ====
 +----
 +
 +Rulaţi următorul program şi încercaţi să înţelegeţi de ce afişează respectivele valori. Este important să întrebaţi dacă nu înţelegeţi ceva.
 +
 +<code c>
 +#include <​stdio.h>​
 +
 +int main()
 +{
 +   int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
 +   ​unsigned long int adr0, adr1, adr2;
 +   int *p1, *p2;
 +   
 +   ​printf("​a = %p\na + 1 = %p\na + 3 = %p\n\n",​ a, a + 1, a + 3);
 +   
 +   ​printf("​sizeof(a) = %d\n", sizeof(a));
 +   ​printf("​sizeof(a + 1) = %d\n", sizeof(a + 1));
 +   ​printf("​sizeof(a + 3) = %d\n\n",​ sizeof(a + 3));
 +   
 +   adr0 = (unsigned long int) a;
 +   adr1 = (unsigned long int) (a + 1);
 +   adr2 = (unsigned long int) a + 1;
 +   
 +   ​printf("​adr0 = %lu\nadr1 = %lu\nadr2 = %lu\n\n",​ adr0, adr1, adr2);
 +   
 +   p1 = a + 4;
 +   p2 = &​(a[4]);​
 +   
 +   ​printf("​p1 = %p \t *p1 = %d\n", p1, *p1);
 +   ​printf("​p2 = %p \t *p2 = %d\n", p2, *p2);
 +   ​printf("​a + 4 = %p \t a[4] = %d\n", a + 4, a[4]);
 +   
 +   *p1 = *p1 + 1;
 +   ​printf("​\na[4] = %d\n", a[4]);
 +   
 +   ​return 0;
 } }
 </​code>​ </​code>​
programare-cc/breviar-6.1605603316.txt.gz · Last modified: 2020/11/17 10:55 by bogdan.nutu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0