Как сохранить набор значений в массиве без использования квадратных скобок, но с помощью указателей - PullRequest
1 голос
/ 12 октября 2010

В программировании на С, как сохранить набор значений, введенных пользователем, в массив, используя только указатели и не заключая в квадратные скобки?

Ответы [ 3 ]

3 голосов
/ 12 октября 2010

X[Y] точно так же, как *((X) + (Y)).

2 голосов
/ 12 октября 2010

Попробуйте:

int  x??(??) = { 0,1 ,2 3, 4, 5, 6};

x??(2??) = 122;
0 голосов
/ 12 октября 2010
#include <stdio.h>


int main(int argc, char *argv)
{
  int i, *ip;

  static int a[] = {0,1,2,3,4,5,6,7,8,9,10,11};

  for(ip=a; ip < a+12; ip++)
    (*ip) *=2;  /* restore as number times 2 */

  putchar('\n');

  for(i=0; i < 12; i++)
    printf("%3d", a[i]);

  putchar('\n');



  return 0;
}

Результат восстановления значения * 2 для каждого элемента.

frayser@gentoo ~/doc/Answers/src/Haskell $ make array && ./array
cc     array.c   -o array

  0  2  4  6  8 10 12 14 16 18 20 22
...