GATE CSE
First time here? Checkout the FAQ!
x
0 votes
100 views
#include<Stdio.h>
main()
{
    int *a[10];
    *a[0]=323;
  printf("%d",*a);

}

// i m getting error what is error here ?
asked in Programming by Active (2k points)   | 100 views

yes i think u r right 
it is right if elements r contiguous
suppose each element of array of pointers pointing to each element of an array then it may right bt nt ever as in ur case 
srry if any problem occur due 2 me...
https://www.tutorialspoint.com/cprogramming/c_array_of_pointers.htm

my question is modification of that question :)

valid code is this

int main(void) {
	int *a[10];
    a[0]=323;
    printf("%d",a[0]);
	return 0;
}

 

srestha  tell , below description is right ?

can u write full formula with means

e.g. int *a[10];

a element  1000 1200 1300 1400 1500 1600 1700 1800

a index       0        1       2    3       4       5      6       7

memory    100     102    104  106  108  110    112   114

location

no how to calculate a[2][1] ?

according to u it will  *(*(a+2)+1) =

first i will solve inner part a+2 which wil 100+2 * size of type (here int , so 2 )

a+2 leads to 100+4 = 104

*104 leads 1300

so *(1300 + 1) which leads 1300 + 2 = 1302

vaue at 1302 which leads here error //bcz there is no element at memory location

is thiz whole scenario is right ?

Please log in or register to answer this question.

Related questions

0 votes
1 answer
2
asked in Algorithms by Wanted Active (2k points)   | 53 views
+3 votes
0 answers
3
asked ago in Programming by Aghori Loyal (4.1k points)   | 26 views


Top Users Aug 2017
  1. Bikram

    3584 Points

  2. ABKUNDAN

    3404 Points

  3. akash.dinkar12

    3030 Points

  4. manu00x

    2446 Points

  5. rahul sharma 5

    2260 Points

  6. makhdoom ghaya

    2040 Points

  7. just_bhavana

    1880 Points

  8. Tesla!

    1596 Points

  9. pawan kumarln

    1574 Points

  10. learner_geek

    1504 Points


24,796 questions
31,868 answers
73,708 comments
30,011 users