helllo sir ,
what is the main use of the pointer ,array ,and the
structure with the example of a programe
Answers were Sorted based on User's Feedback
Answer / fazlur rahaman naik
With the help of pointer we can access a variable
address.with that we can change the value of the
variable.for eg:
main()
{
int a = 10;
int *x;
x = &a;
printf("a = %d\n",a);
*x = 978;
printf("a = %d\n");
}
now the value of the a is 978.
if we pass a pointer to a variable to a function then the
value of that variable will be chageed if we change it in
that function.
for eg:
main()
{
int b = 87;
int *x;
x = &b;
fun(x);
printf("b = %d\n");
}
fun(int *x)
{
*x = 879;
}
here the value of the b will be 879.
Array : Array is a collection of variable of similar types.
i.e. it can b an collection of n number of integers or arry
of characters etc.
for eg:
Take a examination marks of a class.it could b a float
value or a integer value.Then u need to take five variables
of float type or interger type.Insted of that u can take an
array of float or integer type.
float marks[n];
arrays r mainly used for strings.
char string[n];
Structure:
The structure is a collection of variables of various data
types.
the best example for this is employee details or student
details.
struct emloyee
{
char name[25];
int age;
float salary;
char mobile[15];
char desig[25];
};
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / vignesh1988i
POINTERS :
pointers are derived data types which is used to store an address of a variable of the similar data type in which the pointer have been declared. it is denoted as '*', it is called dereference operator.
for eg:
int i=90, *pointer;
according to the above definition,
pointer= &i // assiginig the address of i to integer pointer which points to variable 'i'.
printf("%d`n",*pointer); // prints the value of i
integer ptr can hold only integer addresses , char ptr can hold only character variable address etc.
but void pointers can hold any data type at that instance of time , that pointer must be type casted at that time to point to which data typed variable.
ARRAY :
arrays are called as a linear data structure which allocates continous memory locations of SIMILAR DATA TYPES.
DECLARATION :
data type array_name[an integer]; // only integer value can be used within the subscript ([ ]).
INITILIZATION :
int first[]='1','2','3';
here no error will occur at the time of INITILIZATION ,ie giving the values when we declare an array....
but this is a wrong ones :
int first[]; //error statement
an important point to remember :
ARRAYS ARE RELATED TO POINTER S AND VICE VERSA.
whenever we refer to an array , first thing we have to remember is the BASE ADDRESS of an array....... ie the very first location ie. &array[0] - refers to the base address ,
so when we write array[0] or array[i] where i=0,1,2,3,......n ; it is implicitily writtern as *(array+0) or *(array+i) .
ARRAYS can be classified as ONE DIMENSION or MULTI DIMENSIONS.
for eg:
int logic[50][10];
STRUCTURES :
structures are called user defined data types which can hold a series of same or different data types of data at one go....
DIFFRENCE between array and a structure is :
1) array allocates ONLY continous memory locations of SAME DATA TYPE.......
but STRUCTURE allocates continous locations or it splits up the memory locations implicitily without leting it out to the user.
2) strutures are not related to pointers
but arrays are related
3) when arrays are declared it can be inililized but
structures cannot be.
this point will be more clear while you see the below coding:
DECLARATION :
struct vignesh
{
char name[20];
int roll_no;
float avg;
}a1;
here are three things have to be remembered :
1) vignesh REFERS to the structure name
2)The items inside {.... } refers to the DATA MEMBERS to a structure vignesh
3)a1 refers to the STRUCTURE variable.....
the speciality here is in this a1 3 datas of different data types can be stored ie. char name[20] , int roll_no , float avg .......
to refer to the members of the structures we must access those with '.' operater.
printf("%s n% %d`n %f`n",a1.name,a1.i,a1.avg);
I CAN SAY MORE ABOUT THESE THREE THINGS BUT I THINK THIS SMALL INTRODUCTION WILL BE ENOUGH TO MAKE YOU CONCEPTUALLY CLEAR......
thank u
Is This Answer Correct ? | 1 Yes | 0 No |
What is volatile c?
2. What does static variable mean?
Process by which one bit pattern in to another by bit wise operation is?
What are preprocessor directives in c?
Write a program to enter the name and age. If age>28 then find salary categories. if age<28 then find that you are gaduate or not.
Why c++ is called c++ and not c+?
#define DCHAR char* typedef char* TCHAR; if using these following variables will be declared like DCHAR ch1, ch2; TCHAR ch3, ch4; then what will be types of ch1, ch2, ch3 and ch4?
What is #include stdlib h?
what is use of loop?
Is it better to use a pointer to navigate an array of values, or is it better to use a subscripted array name?
What is function and its example?
Can you explain the four storage classes in C?