Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. C:
  2.  
  3. Прости структури в С (без списъци вътре в тях и т.н.)(Сложни структури компилаторите гърмят с дефаулт =)
  4.  
  5. повечето компилатори правят мемкопи, т.е.
  6. struct Foo {
  7. char a;
  8. int b;
  9. double c;
  10. } foo1,foo2;
  11.  
  12. void foo_assign(void)
  13. {
  14. foo1 = foo2;
  15. }
  16. int main(/*char *argv[],int argc*/)
  17. {
  18. foo_assign();
  19. return 0;
  20. }
  21. Ти дава два различни адреса за фоо1 и фоо2
  22.  
  23.  
  24. Ако малокнеш мембър на структура:
  25. struct S {
  26. char * p;
  27. };
  28.  
  29. struct S s1, s2;
  30. s1.p = malloc(100);
  31. s2 = s1;
  32.  
  33. s1.p1 && s2.p1 водят към еднакви адреси.
  34.  
  35. GOLANG:
  36. var huski *Pet = new(Pet)
  37. dog := huski
  38. и двете водят към еднакъв адрес в паметта (което си и искал с дефиницията с пойнтъра)
  39.  
  40. var huski Pet = Pet{}
  41. dog := huski
  42.  
  43. РАЗЛИЧНИ АДРЕСИ
  44.  
  45. Python:
  46. = еднакби обекти
  47. Python 2.6.6 (r266:84292, Aug 22 2016, 09:40:33)
  48. [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
  49. Type "help", "copyright", "credits" or "license" for more information.
  50. >>> a={}
  51. >>> b=a
  52. >>> hex(id(a))
  53. '0x1482890'
  54. >>> hex(id(b))
  55. '0x1482890'
  56.  
  57. Javascript:
  58. като в питона
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement