:: Home Page            
 Advertise your Business Here     
Browse  |   Placement Papers  |   Company  |   Code Snippets  |   Certifications  |   Visa Questions
Post Question  |   Post Answer  |   My Panel  |   Search  |   Articles  |   Topics  |   ERRORS new
   Refer this Site  Refer This Site to Your Friends  Site Map  Bookmark this Site  Set it as your HomePage  Contact Us     Login  |  Sign Up                      
Categories >> Software >> Programming Languages >> C


 C interview questions  C Interview Questions (2265)
 C++ interview questions  C++ Interview Questions (1119)
 VC++ interview questions  VC++ Interview Questions (342)
 Delphi interview questions  Delphi Interview Questions (510)
 Programming Languages AllOther interview questions  Programming Languages AllOther Interview Questions (648)
what is the difference between arrays and linked list
 Question Submitted By :: C
I also faced this Question!!     Answer Posted By  
# 1
arrays are linear data structure
while linked lists are linear and non-linear
in case of linked list :-from point of access strategy it
is linear and from point of storage strategy it is non
Is This Answer Correct ?    210 Yes 53 No
Sumit Thokal
# 2
the main differance between arrays and linked list is:

In array we follow static memory allocation.
i.e we assign memory to the particular element in advance.

in linked list -> dynamic memory allocation.
i.e we assign memory to the particular element at run-time..

hence we reserve only the amount of memory which is

there is no problem of memory shortage or wastage, in
linked list. which we very frequently come accross in the
Is This Answer Correct ?    114 Yes 19 No
# 3
>Array is a simple sequence of numbers which are not
>concerned about each-others positions.
This is not true, what about arrays of objects ? They may be
concerned about each other in some way.

>adding,removing or modifying any array element is very >easy.
This is untrue also, adding, removing elements in array is
significantly more complex than removing or adding elements
in linked list. This is because removing elements from array
causes all elements after it to be shifted back, whereas
with linked list, its merely traversing the list to find the
node, previous node, and the next node and setting pointers,
and inserting element into array will probably call for
1) resizing the whole array size (ie. assingning a new,
bigger memory chunk for it)
2) copying elements from the former smaller array to the new
- bigger one.
This is a huge trade off, provided that in list, its simply
matter of setting the NEXT pointer of one of the nodes.

Main differences between the two are:
1) arrays are RANDOM ACCESS structures, where you can access
elements in random/indexed manner, whereas list is a
sequential access structure. This makes such algorithms like
heap sort or binary search to work much faster on arrays
2) arrays are static/fixed size whereas lists are dynamic
size structures. It means that when creating an array (both
on stack or heap), you HAVE to specify its size. With lists,
you just create an empty list and freely expand it
3) array consist of continuous chunks of memory, ie. nth
element is at the memory location of :
address_of_array + sizeof(array_element_type) * n
this always holds true, that is why following will always work :
for(int i=0;i < ARRAY_SIZE; i++)
cout << *(array++);
List is a sequence of nodes, connected by NEXT pointers, so
consequent nodes may lie WHEREVER in memory
Is This Answer Correct ?    112 Yes 19 No
# 4
Array is a simple sequence of numbers which are not
concerned about each-others positions. they are independent
of each-others positions. adding,removing or modifying any
array element is very easy.Compared to arrays ,linked list
is a comlicated sequence of numbers.each number in the
linked list is connected to its previous & next no. via a
link which is nothieng but a pointer.Addition,removal of
no.s in linked list is related to this pointer direction &
linking that no. to the no. which is already present in the
Is This Answer Correct ?    128 Yes 45 No
# 5
Both are nothing but the data structures where in arrays
data can be accessed using subscript but in linked list
data can be accessed by the pointer present in its previous
Is This Answer Correct ?    52 Yes 13 No
# 6
the main difference is that in array data is not linked to
each other but in linked lists data is connected to each
other as every node is connected to previous node.
Is This Answer Correct ?    37 Yes 12 No
Bhumika Garg
# 7
1.array is fixed length and Array is a simple sequence of
numbers which are not concerned about each-others positions
but linked list is variable length array values are accessing easy but linked list is
some time taken process bcoz search aither forword or
backword array updating operations are time taken comparing
with linkedlist
4.array is not growble and linkedlist is growble
Is This Answer Correct ?    32 Yes 13 No
Vasu Kanneganti
# 8
All elements of array stored in contiguous memory location.
While in case of linked list each node does not stored in
contiguous memory location
Is This Answer Correct ?    20 Yes 5 No
# 9

1.Easy to use
2.No memory management needed
3.Can access any element by index
4.Fairly quick to loop

1.Static size (canít increase the size)
2.Most likely not enough or too much memory (you never know
how many elements are needed)
Linked Lists

1.Dynamic size (can increase or decrease the list)
2.No memory is wasted

1.Lots of overhead code (lots of malloc calls and assigning
2.Must traverse entire list to go to the nth node.
Now I know that other languages such as C# and Java have
better data structures than arrays and linked lists (like
ArrayLists and Vectors), but this is for the C language and
it doesnít have those. So based on what youíve read above
you can decide which is better for the job needed. Neither
arrays nor linked lists are better but they do have their
specific purposes.
Is This Answer Correct ?    17 Yes 2 No
# 10
1)Array has a static storage where as in linked list it is
2)To add some elements in an array is impossible since the
size is predefined.For the same case we can add elements at
the beginning,in the middle and also in the end.
3)To access the data from array is very easy while to access
data from linked list is some complex.
Is This Answer Correct ?    16 Yes 7 No
Soumen Goswami

Other C Interview Questions
  Question Asked @ Answers
main() { int i = 10; printf(" %d %d %d \n", ++i, i++, ++i); } Tcs 6
biggest of two no's with out using if condition statement   5
what is difference between null and nul in c language   2
write a program to remove duplicate from an ordered char array? in c   2
what is link list?   3
write a C program:There is a mobile keypad with numbers 0-9 and alphabets on it. Take input 0f 7 keys and then form a word from the alphabets present on the keys. Subex 1
i=10,j=20 j=i,j?(i,j)?i:j:j print i,j CSC 1
f=(x>y)?x:y a) f points to max of x and y b) f points to min of x and y c)error HCL 4
create an SINGLE LINKED LISTS and reverse the data in the lists completely   3
Write a program in C to reverse a number by recursive function?   1
a number is perfect if it is equal to the sum of its proper divisor.. 6 is perfect number coz its proper divisors are 1,2 and three.. and 1+2+3=6... a number is deficient if the sum of its proper divisor is less than the number.. sample: 8 is deficient, coz its proper divisors are 1,2 and 4, and 1+2+4=7. abundant number, if the sum of its proper divisor is greater than the number.. sample..12 is abundant coz 1+2+3+4+6=16 which is geater than 12. now write a program that prompts the user for a number, then determines whether the number is perfect,deficient and abundant..   1
For more C Interview Questions Click Here 

Copyright Policy  |  Terms of Service  |  Articles  |  Site Map  |  RSS Site Map  |  Contact Us
Copyright © 2013  All Rights Reserved.   ::