Differences

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

Link to this comparison view

programare:laboratoare:lab08 [2017/11/13 16:02]
darius.neatu [Operatorul de dereferențiere]
programare:laboratoare:lab08 [2020/10/05 00:37] (current)
darius.neatu [Pointeri. Abordarea lucrului cu tablouri folosind pointeri.]
Line 1: Line 1:
 ===== Pointeri. Abordarea lucrului cu tablouri folosind pointeri. ===== ===== Pointeri. Abordarea lucrului cu tablouri folosind pointeri. =====
  
-**Responsabil:** [[laura.vasilescu@cti.pub.ro|Laura Vasilescu]]+**Responsabili:*
 +  * [[neatudarius@gmail.com|Darius Neațu (CA 2019-2020)]] 
 +  * [[ion_dorinel.filip@cti.pub.ro|Dorinel Filip (CA 2019-2020)]] 
 +  ​* [[laura.vasilescu@cti.pub.ro|Laura Vasilescu]]
  
  
Line 62: Line 65:
 int *a;             /* Pointer */ int *a;             /* Pointer */
 int b = 5;          /* Variabila */ int b = 5;          /* Variabila */
-char *c;            /* Pointer catre un caracter (sau sir de caractere)

 */ +char *c;            /* Pointer catre un caracter (sau sir de caractere) */ 
-void *buff = NULL;  /* Pointer catre void, initializat la NULL

 */+void *buff = NULL;  /* Pointer catre void, initializat la NULL */
  
 /* Asignare NEVALIDA; a este un pointer neinitializat */ /* Asignare NEVALIDA; a este un pointer neinitializat */
Line 72: Line 75:
  
 /* Continutul memoriei de la adresa a (care a fost initializata mai sus)  /* Continutul memoriei de la adresa a (care a fost initializata mai sus) 
-   ia valoarea 5
. Acest lucru este echivalent cu "b = 5;" ​+   ia valoarea 5. Acest lucru este echivalent cu "b = 5;" ​
  */  */
 *a = 5;    *a = 5;   
Line 258: Line 261:
   * Alocă dinamic memoria pentru vector (folosind ''​malloc''​),​ iar această alocare se menţine şi la ieşirea din funcţie.   * Alocă dinamic memoria pentru vector (folosind ''​malloc''​),​ iar această alocare se menţine şi la ieşirea din funcţie.
  
-==== Pointeri la funcţii ​====+==== Studiu de caz ====
  
 +<spoiler Pointeri la funcţii>​
 Anumite aplicaţii numerice necesită scrierea unei funcţii care să poată apela o funcţie cu nume necunoscut, dar cu prototip şi efect cunoscut. ​ Anumite aplicaţii numerice necesită scrierea unei funcţii care să poată apela o funcţie cu nume necunoscut, dar cu prototip şi efect cunoscut. ​
  
Line 307: Line 311:
   break; // iesire din ciclu la apasarea unei taste   break; // iesire din ciclu la apasarea unei taste
 </​code>​ </​code>​
 +</​spoiler>​
  
-===== Expresii complexe cu pointeri ​===== +<​spoiler ​Expresii complexe cu pointeri>
 Deşi sunt întâlnite mai rar în practică, limbajul C permite declararea unor tipuri de date complexe, precum: ​ Deşi sunt întâlnite mai rar în practică, limbajul C permite declararea unor tipuri de date complexe, precum: ​
  
Line 330: Line 334:
 </​code>​ </​code>​
 care semnifică o matrice de 5x10 de pointeri către pointeri constanţi la o funcţie, care nu ia nici un parametru, şi care întoarce un pointer către tipul ''​unsigned int''​. care semnifică o matrice de 5x10 de pointeri către pointeri constanţi la o funcţie, care nu ia nici un parametru, şi care întoarce un pointer către tipul ''​unsigned int''​.
 +</​spoiler>​
 ==== Exerciții Laborator CB/CD ==== ==== Exerciții Laborator CB/CD ====
 Primul exercițiu presupune rularea unei secvente de cod cu scopul de a clarifica diverse aspecte legate de pointeri. Analizați fiecare intrebare si incercati sa intuiti ce ar trebui sa se afiseze in continuare. După aceea verificați Primul exercițiu presupune rularea unei secvente de cod cu scopul de a clarifica diverse aspecte legate de pointeri. Analizați fiecare intrebare si incercati sa intuiti ce ar trebui sa se afiseze in continuare. După aceea verificați
Line 394: Line 398:
 </​code>​ </​code>​
 **Următoarele două probleme vă vor fi date de asistent în cadrul laboratorului.** **Următoarele două probleme vă vor fi date de asistent în cadrul laboratorului.**
 +
 +[[https://​drive.google.com/​drive/​u/​0/​folders/​1qB6EZLGVubKbuTXMtMue06egH_8fo25M|Checker laborator 8]]
 +[[ https://​ocw.cs.pub.ro/​courses/​programare/​checker | Tutorial folosire checker laborator ]]
 <​hidden>​ <​hidden>​
 +
 Link direct către lista completă de probleme: [[https://​docs.google.com/​document/​d/​1nERoSfIgBICsjXPB7SE5fH7Spq3WwlOzWNes6Eivp48/​edit|aici]] Link direct către lista completă de probleme: [[https://​docs.google.com/​document/​d/​1nERoSfIgBICsjXPB7SE5fH7Spq3WwlOzWNes6Eivp48/​edit|aici]]
 </​hidden>​ </​hidden>​
Line 424: Line 432:
  
 </​hidden>​ </​hidden>​
 +
 +[[https://​drive.google.com/​open?​id=1xohyDQGMxXdGMvzyega5wKBi9WWk6qXW|Probleme laborator 14-16]]
programare/laboratoare/lab08.1510581763.txt.gz · Last modified: 2017/11/13 16:02 by darius.neatu
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