GATE CSE
First time here? Checkout the FAQ!
x
0 votes
108 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 (2.5k points) 15 47 | 108 views
address assignment is missing here
give me answer of thiz

main ()

{

int *a[];

}

 

if i use a[2][3];

is it valid ?
ur code is nt correct bcoz u r declaring an array ie of pointers but u r nt assigning any address 2 it nd u want 2 access the elements through it
it is same like int* a, print *a
ya i got what are mistake in it .

but i asked another question ...give answr plz
yes then u can use it
as  a[2][3]= *(*(a+2)+3)
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 ?

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



Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
Top Users Oct 2017
  1. Arjun

    23684 Points

  2. Bikram

    17288 Points

  3. Habibkhan

    9086 Points

  4. srestha

    6460 Points

  5. Debashish Deka

    5478 Points

  6. jothee

    5148 Points

  7. Sachin Mittal 1

    4910 Points

  8. joshi_nitish

    4492 Points

  9. sushmita

    4068 Points

  10. Rishi yadav

    3998 Points


Recent Badges

Photogenic arvin
Notable Question Chandramani Adil
Popular Question shaff
Popular Question makhdoom ghaya
Good Answer Arjun
Good Comment sudsho
Popular Question jothee
100 Club NEELU PANDEY
Good Answer Mehak Sharma 1
Good Question jothee
27,421 questions
35,271 answers
84,572 comments
33,506 users