Visual Studio не отключается от USB-устройства

, если вы пишете

int b = 0;
foo(b);

int foo(int a)
{
  a = 1;
}

, вы не меняете 'b', потому что a является копией b

, если вы хотите изменить b, вам нужно будет передать адрес из b

int b = 0;
foo(&b);

int foo(int *a)
{
  *a = 1;
}

одинаково для указателей:

int* b = 0;
foo(b);

int foo(int* a)
{
  a = malloc(10);  // here you are just changing 
                   // what the copy of b is pointing to, 
                   // not what b is pointing to
}

, поэтому для изменения, где b указывает, чтобы передать адрес:

int* b = 0;
foo(&b);

int foo(int** a)
{
  *a = 1;  // here you changing what b is pointing to
}

hth

0
задан Irrelevant_Coder 15 January 2019 в 15:16
поделиться