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 |
#include<stdio.h> #include<conio.h> struct stu { int i; char j; }; union uni { int i; char j; }; void main() { int j,k; clrscr(); struct stu s; j=sizeof(s); printf("%d",j); union uni u; k=sizeof(u); printf("%d",k); getch(); } what is value of j and k.
Convert the following expression to postfix and prefix X $ Y Z - M + N + P / Q / (R + S)
How can I read in an object file and jump to locations in it?
what is software?
string reverse using recursion
Write a program to reverse a linked list in c.
How can you invoke another program from within a C program?
Write a program to remove the C comments(/* */) and C++ comments(//) from a file. The file should be declared in command line.
What is formal argument?
There are N egg baskets and the number of eggs in each basket is a known quantity. Two players take turns to remove these eggs from the baskets. On each turn, a player must remove at least one egg, and may remove any number of eggs provided they all belong to the same basket. The player picking the last egg(s) wins the game. If you are allowed to decide who is going to start first, what mathematical function would you use to decide so that you end up on the winning side?
What does. int *x[](); means ?
int x=5; printf("%d%d%d",x,x<<2,x>>2);