Academic Tutorials



English | French | Portugese | Dutch | Italian
Google

in linea

Domestico Codici sorgente E-Libri Trasferimenti dal sistema centrale verso i satelliti Metterseli in contatto con Circa noi

HTML Tutorials
HTML Tutorial
XHTML Tutorial
CSS Tutorial
TCP/IP Tutorial
CSS 1.0
CSS 2.0
HLML
XML Tutorials
XML Tutorial
XSL Tutorial
XSLT Tutorial
DTD Tutorial
Schema Tutorial
XForms Tutorial
XSL-FO Tutorial
XML DOM Tutorial
XLink Tutorial
XQuery Tutorial
XPath Tutorial
XPointer Tutorial
RDF Tutorial
SOAP Tutorial
WSDL Tutorial
RSS Tutorial
WAP Tutorial
Web Services Tutorial
Browser Scripting
JavaScript Tutorial
VBScript Tutorial
DHTML Tutorial
HTML DOM Tutorial
WMLScript Tutorial
E4X Tutorial
Server Scripting
ASP Tutorial
PERL Tutorial
SQL Tutorial
ADO Tutorial
CVS
Python
Apple Script
PL/SQL Tutorial
SQL Server
PHP
.NET (dotnet)
Microsoft.Net
ASP.Net
.Net Mobile
C# : C Sharp
ADO.NET
VB.NET
VC++
Multimedia
SVG Tutorial
Flash Tutorial
Media Tutorial
SMIL Tutorial
Photoshop Tutorial
Gimp Tutorial
Matlab
Gnuplot Programming
GIF Animation Tutorial
Scientific Visualization Tutorial
Graphics
Web Building
Web Browsers
Web Hosting
W3C Tutorial
Web Building
Web Quality
Web Semantic
Web Careers
Weblogic Tutorial
SEO
Web Site Hosting
Domain Name
Java Tutorials
Java Tutorial
JSP Tutorial
Servlets Tutorial
Struts Tutorial
EJB Tutorial
JMS Tutorial
JMX Tutorial
Eclipse
J2ME
JBOSS
Programming Langauges
C Tutorial
C++ Tutorial
Visual Basic Tutorial
Data Structures Using C
Cobol
Assembly Language
Mainframe
Forth Programming
Lisp Programming
Pascal
Delphi
Fortran
OOPs
Data Warehousing
CGI Programming
Emacs Tutorial
Gnome
ILU
Soft Skills
Communication Skills
Time Management
Project Management
Team Work
Leadership Skills
Corporate Communication
Negotiation Skills
Database Tutorials
Oracle
MySQL
Operating System
BSD
Symbian
Unix
Internet
IP-Masquerading
IPC
MIDI
Software Testing
Testing
Firewalls
SAP Module
ERP
ABAP
Business Warehousing
SAP Basis
Material Management
Sales & Distribution
Human Resource
Netweaver
Customer Relationship Management
Production and Planning
Networking Programming
Corba Tutorial
Networking Tutorial
Microsoft Office
Microsoft Word
Microsoft Outlook
Microsoft PowerPoint
Microsoft Publisher
Microsoft Excel
Microsoft Front Page
Microsoft InfoPath
Microsoft Access
Accounting
Financial Accounting
Managerial Accounting


pointers in C
Previous Next




Che cosa è pointer?

In c, un pointerè una variabile che indica a o riferisce una posizione di memoria in cui i dati sono memorizzati. Nel calcolatore, ogni cellula di memoria ha un indirizzo che può essere usato per accedere a quella posizione in modo da ai punti di variabile di pointerad una posizione che di memoria possiamo accedere a e che cambiamo il contenuto di questa posizione di memoria via l'pointer.




Dichiarazione dell'pointer:

Un pointerè una variabile che contiene la posizione di memoria di un'altra variabile nei dati dello shich è immagazzinata. Usando l'pointer, cominciate specificando il tipo di dati memorizzati nella posizione. L'asterisco contribuisce a dire al compilatore a che stiate generando una variabile di pointer. Infine dovete dare il nome della variabile. La sintassi è come indicata sotto.

type * variable name



Il seguente esempio illustra il declataion della variabile di pointer
int *ptr;
float *string;



Operatore di indirizzo:

Una volta che dichiariamo una variabile di pointerallora dobbiamo indicarli a qualcosa che possiamo fare questo assegnando all'pointerl'indirizzo della variabile desiderate indicare come nel seguente esempio:

ptr=#

Il suddetto codice dice a che l'indirizzo dove numerico sia depositi nello stampante variabile. Lo stampante variabile ha il valore 21260, se numerico è immagazzinato nell'indirizzo di memoria 21260 allora




Il seguente programma illustra la dichiarazione dell'pointer
/* A program to illustrate pointer declaration*/

main()
{
int *ptr;
int sum;
sum=45;
ptr=&sum
printf ("\n Sum is %d\n", sum);
printf ("\n The sum pointer is %d", ptr);
}



Espressioni dell'pointer& aritmetica dell'pointer:
Nelle espressioni, come altre variabili di pointerdi variabili può essere usato. Per esempio se p1 e p2 sono inizializzati correttamente ed pointers dichiarati, allora le seguenti dichiarazione sono valide.
y=*p1**p2;
sum=sum+*p1;
z= 5* - *p2/p1;
*p2= *p2 + 10;

La C permette che noi sottraiamo i numeri interi a o aggiungiamo i numeri interi dagli pointers così come per sottrarre un pointerdall'altro. Possiamo anche usare gli operatori corti della mano con gli pointers p1+=; sum+=*p2; ecc., usando gli operatori relazionali, possiamo anche confrontare gli pointers come le espressioni quale p1 >p2, p1==p2 e p1! =p2 sono permessi.




Il seguente programma illustra l'espressione dell'pointere l'aritmetica dell'pointer
/*Program to illustrate the pointer expression and pointer arithmetic*/
#include< stdio.h >
main()
{ int ptr1,ptr2;
int a,b,x,y,z;
a=30;b=6;
ptr1=&a;
ptr2=&b;
x=*ptr1+ *ptr2 6;
y=6*- *ptr1/ *ptr2 +30;
printf("\nAddress of a +%u",ptr1);
printf("\nAddress of b %u",ptr2);
printf("\na=%d, b=%d",a,b);
printf("\nx=%d,y=%d",x,y);
ptr1=ptr1 + 70;
ptr2= ptr2;
printf("\na=%d, b=%d,"a,b);
}



pointers e funzione:

In una dichiarazione di funzione, l'pointermolto è usato. A volte, soltanto con un pointeruna funzione complessa può essere rappresentata facilmente e successo. In una definizione di funzione, l'uso degli pointers può essere classificato in due gruppi.

  1. Call by reference
  2. Call by value.



Chiamata da valore:

Abbiamo visto che ci sarà un collegamento stabilito fra i parametri convenzionali e reali quando una funzione è invocata. Non appena l'immagazzinaggio provvisorio è generato dove il valore dei parametri reali è memorizzato. I parametri convenzionali prende il relativo valore da deposito il meccanismo del trasferimento di dati fra convenzionale ed i parametri reali permette il meccanismo di parametri reali del trasferimento di dati si riferisce come chiamata da valore. Il parametro convenzionale corrispondente rappresenta sempre una variabile locale nella funzione denominata. Il valore corrente del parametro reale corrispondente si trasforma in nel valore iniziale del parametro convenzionale. Nel corpo del parametro reale, il valore del parametro convenzionale può essere cambiato. Nel corpo del subprogram, il valore del parametro convenzionale può essere cambiato dalle dichiarazione dell'input o di assegnazione. Ciò non cambierà il valore dei parametri reali.

/* Include< stdio.h >

void main()
{
int x,y;
x=20;
y=30;
printf("\n Value of a and b before function call =%d %d",a,b);
fncn(x,y);
printf("\n Value of a and b after function call =%d %d",a,b);
}

fncn(p,q)
int p,q;
{
p=p+p;
q=q+q;
}



Chiamata da riferimento:

L'indirizzo dovrebbe essere pointers, quando passiamo ad indirizzo ad una funzione la ricezione di parametri. Usando gli pointers, il processo di chiamata della funzione per passare l'indirizzo della variabile è conosciuto come chiamata da riferimento. La funzione che è denominata da riferimento può cambiare il valore della variabile usata nella chiamata.

/* example of call by reference*?

/* Include< stdio.h >
void main()
{
int x,y;
x=20;
y=30;
printf("\n Value of a and b before function call =%d %d",a,b);
fncn(&x,&y); printf("\n Value of a and b after function call =%d %d",a,b);
}
fncn(p,q)
int p,q;
{
*p=*p+*p;
*q=*q+*q;
}



pointeragli arrays:

un allineamento è realmente molto simile come l'pointer. Possiamo dichiarare poichè il *a interno è un indirizzo, perché a [0] il primo elemento di arrays come a [0] e il *a è inoltre un indirizzo la forma della dichiarazione è inoltre equivalente. La differenza è pointerpuò comparire a sinistra dell'operatore di assegnazione ed è a è una variabile che è lvalue. Il nome di allineamento non può comparire come la parte di sinistra dell'operatore di assegnazione ed è costante.

/* A program to display the contents of array using pointer*/
main()
{
int a[100];
int i,j,n;
printf("\nEnter the elements of the array\n");
scanf(%d,&n);
printf("Enter the array elements");
for(I=0;I< n;I++)
scanf(%d,&a[I]);
printf("Array element are");
for(ptr=a,ptr< (a+n);ptr++)
printf("Value of a[%d]=%d stored at address %u",j+=,*ptr,ptr);
}



pointers e strutture

Sappiamo che il nome dei basamenti di allineamento per l'indirizzo del relativo elemento dello zeroth lo stesso concetto fa domanda per i nomi degli arrays delle strutture. Supporre che l'articolo è una variabile di allineamento del tipo dello struct. Considerare la seguente dichiarazione:

struct products
{
char name[30];
int manufac;
float net;
item[2],*ptr;

questo stampante di dichiarazione come oggetti di dati dell'pointerdi tipo prodotti dello struct e dichiara l'articolo come allineamento di due elementi, ogni tipo prodotti dello struct.




pointers sull'pointer

Un pointercontiene il valore dell'immondizia fino a inizializzarlo esso. Poiché i compilatori non possono rilevare gli errori non possono essere conosciuti fino a che non eseguiamo il programma ci ricordiamo di che anche se possiamo individuare un risultato errato, uninitialized o scorrettamente avuto inizializzato gli pointers che non può fornire alcuna prova per noi ai problemi sospetti in pointers. Per esempio le espressioni come

*ptr++, *p[],(ptr).member




Previous Next

Keywords: Pointers in C, double pointers in c, pointers in c language, pointer in c, pointers in c++, function pointers in c, function pointer in c, using pointers in c, data types in c, array of pointers in c, pointers in c#, pointer to pointer in c, pointer to a pointer in c, pointers to functions in c, file pointer in c, file pointers in c


HTML Quizes
HTML Quiz
XHTML Quiz
CSS Quiz
TCP/IP Quiz
CSS 1.0 Quiz
CSS 2.0 Quiz
HLML Quiz
XML Quizes
XML Quiz
XSL Quiz
XSLT Quiz
DTD Quiz
Schema Quiz
XForms Quiz
XSL-FO Quiz
XML DOM Quiz
XLink Quiz
XQuery Quiz
XPath Quiz
XPointer Quiz
RDF Quiz
SOAP Quiz
WSDL Quiz
RSS Quiz
WAP Quiz
Web Services Quiz
Browser Scripting Quizes
JavaScript Quiz
VBScript Quiz
DHTML Quiz
HTML DOM Quiz
WMLScript Quiz
E4X Quiz
Server Scripting Quizes
ASP Quiz
PERL Quiz
SQL Quiz
ADO Quiz
CVS Quiz
Python Quiz
Apple Script Quiz
PL/SQL Quiz
SQL Server Quiz
PHP Quiz
.NET (dotnet) Quizes
Microsoft.Net Quiz
ASP.Net Quiz
.Net Mobile Quiz
C# : C Sharp Quiz
ADO.NET Quiz
VB.NET Quiz
VC++ Quiz
Multimedia Quizes
SVG Quiz
Flash Quiz
Media Quiz
SMIL Quiz
Photoshop Quiz
Gimp Quiz
Matlab Quiz
Gnuplot Programming Quiz
GIF Animation Quiz
Scientific Visualization Quiz
Graphics Quiz
Web Building  Quizes
Web Browsers Quiz
Web Hosting Quiz
W3C Quiz
Web Building Quiz
Web Quality Quiz
Web Semantic Quiz
Web Careers Quiz
Weblogic Quiz
SEO Quiz
Web Site Hosting Quiz
Domain Name Quiz
Java Quizes
Java Quiz
JSP Quiz
Servlets Quiz
Struts Quiz
EJB Quiz
JMS Quiz
JMX Quiz
Eclipse Quiz
J2ME Quiz
JBOSS Quiz
Programming Langauges Quizes
C Quiz
C++ Quiz
Visual Basic Quiz
Data Structures Using C Quiz
Cobol Quiz
Assembly Language Quiz
Mainframe Quiz
Forth Programming Quiz
Lisp Programming Quiz
Pascal Quiz
Delphi Quiz
Fortran Quiz
OOPs Quiz
Data Warehousing Quiz
CGI Programming Quiz
Emacs Quiz
Gnome Quiz
ILU Quiz
Soft Skills Quizes
Communication Skills Quiz
Time Management Quiz
Project Management Quiz
Team Work Quiz
Leadership Skills Quiz
Corporate Communication Quiz
Negotiation Skills Quiz
Database Quizes
Oracle Quiz
MySQL Quiz
Operating System Quizes
BSD Quiz
Symbian Quiz
Unix Quiz
Internet Quiz
IP-Masquerading Quiz
IPC Quiz
MIDI Quiz
Software Testing Quizes
Testing Quiz
Firewalls Quiz
SAP Module Quizes
ERP Quiz
ABAP Quiz
Business Warehousing Quiz
SAP Basis Quiz
Material Management Quiz
Sales & Distribution Quiz
Human Resource Quiz
Netweaver Quiz
Customer Relationship Management Quiz
Production and Planning Quiz
Networking Programming Quizes
Corba Quiz
Networking Quiz
Microsoft Office Quizes
Microsoft Word Quiz
Microsoft Outlook Quiz
Microsoft PowerPoint Quiz
Microsoft Publisher Quiz
Microsoft Excel Quiz
Microsoft Front Page Quiz
Microsoft InfoPath Quiz
Microsoft Access Quiz
Accounting Quizes
Financial Accounting Quiz
Managerial Accounting Quiz

Privacy Policy
Copyright © 2003-2024 Vyom Technosoft Pvt. Ltd., All Rights Reserved.