In computer science, a pointer is a programming language object, whose value refers to (or "points to") another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number.

Property Value
dbo:abstract
  • 25بك المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016)25بك لقد اقترح دمج محتويات هذه المقالة أو الفقرة في المعلومات تحت عنوان مؤشر (برمجة). (نقاش) المؤشر (بالإنجليزية: Pointer ) في الحوسبة أو علوم الحاسوب، المؤشر هو نوع من أنواع البيانات في بعض لغات البرمجة تمثل قيمته (أو تشير إلى) قيمة أخرى مخزنة في مكان آخر في ذاكرة الحاسوب، وذلك باستخدام عنوان الذاكرة لها.عملية الحصول على القيمة التي يشير إليها المؤشر تسمى تتبع المؤشر dereferencing. يعتبر المؤشر تطبيق بسيط لنوع البيانات العام المرجع برغم أنه مختلف عن الوسيلة المسماة مرجع reference في لغة سي++.تفيد المؤشرات إلى البيانات في تحسين الأداء للعمليات المتكررة مثل تمرير السلاسل الحرفية وتراكيب (بنيات) الأشجار. وتستخدم المؤشرات للدوال في ربط الوسائل methods في البرمجة كائنية التوجه والربط عند وقت التشغيل بمكتبات الربط الديناميكية التي يرمز لها بـ DLL. في حين أن المؤشرات قد استخدمت لتمثل المراجع عموماً إلا أنها تنطبق بشكل أكثر ملاءمة على تراكيب البيانات التي تسمح واجهتها بوضوح للمؤشر أن يعالج بوصفه عنوان ذاكرة. ولأن المؤشرات تسمح بالوصول الغير محمي بشكل واسع لعناوين الذاكرة فإن هناك بعض الخطورة المصاحبة لاستخدامها. (ar)
  • In computer science, a pointer is a programming language object, whose value refers to (or "points to") another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number. Pointers to data significantly improve performance for repetitive operations such as traversing strings, lookup tables, control tables and tree structures. In particular, it is often much cheaper in time and space to copy and dereference pointers than it is to copy and access the data to which the pointers point. Pointers are also used to hold the addresses of entry points for called subroutines in procedural programming and for run-time linking to dynamic link libraries (DLLs). In object-oriented programming, pointers to functions are used for binding methods, often using what are called virtual method tables. A pointer is a simple, more concrete implementation of the more abstract reference data type. Several languages support some type of pointer, although some have more restrictions on their use than others. While "pointer" has been used to refer to references in general, it more properly applies to data structures whose interface explicitly allows the pointer to be manipulated (arithmetically via pointer arithmetic) as a memory address, as opposed to a magic cookie or capability where this is not possible. Because pointers allow both protected and unprotected access to memory addresses, there are risks associated with using them particularly in the latter case. Primitive pointers are often stored in a format similar to an integer; however, attempting to dereference or "look up" a pointer whose value was never a valid memory address would cause a program to crash. To alleviate this potential problem, as a matter of type safety, pointers are considered a separate type parameterized by the type of data they point to, even if the underlying representation is an integer. Other measures may also be taken (such as validation & bounds checking, to verify the contents of the pointer variable contain a value that is both a valid memory address and within the numerical range that the processor is capable of addressing). (en)
  • Mit Zeiger (auch englisch pointer) wird in der Informatik ein spezieller Wert bezeichnet, dessen Bedeutung eine Speicheradresse ist. An dieser Adresse können entweder Daten, wie Variablen oder Objekte, aber auch Programmcode (Anweisungen) stehen. Durch Dereferenzierung des Zeigers ist es möglich, auf die Daten oder den Code zuzugreifen. Zeiger werden unter anderem dazu verwendet, dynamischen Speicher zu verwalten. So werden bestimmte Datenstrukturen, zum Beispiel verkettete Listen, in der Regel mit Hilfe von Zeigern implementiert. Ein Zeiger ist ein Spezialfall und in einigen Programmiersprachen die einzige Implementierungsmöglichkeit des Konzepts einer Referenz. Der Zeiger wurde 1964/65 von Harold Lawson eingeführt und in der Programmiersprache PL/I implementiert. (de)
  • En ciencias de la computación, un puntero es un objeto del lenguaje de programación, cuyo valor se refiere a (o "apunta a") otro valor almacenado en otra parte de la memoria del ordenador utilizando su dirección. Un puntero referencia a una ubicación en memoria, y a la obtención del valor almacenado en esa ubicación se la conoce como desreferenciación del puntero. A modo de analogía, un número de página en el índice de un libro podría considerarse un puntero a la página correspondiente; desreferenciar un puntero sería como ir a la página con el número de página especificada en el índice. [ Memoria ] | · | | · | | · |+---+ |---------|| p |---->| v |+---+ |---------| | · | | · | | · | Los punteros a datos mejoran significativamente el rendimiento de las operaciones repetitivas tales como cadenas de desplazamiento, tablas de búsqueda, tablas de control y estructuras árbol. En particular, muchas veces es mucho más barato en tiempo y espacio copiar y des referenciar punteros que copiar y acceder a los datos a los cuales apunta el puntero. Los punteros también se utilizan para mantener las direcciones de los puntos de entrada para las subrutinas para llamadas en programación por procedimientos y enlaces para vincular a las bibliotecas de enlace dinámico (DLL) en tiempo de ejecución. En la programación orientada a objetos, los punteros a funciones se utilizan para métodos de unión, muchas veces utilizando lo que se llama tablas de métodos virtuales. Un puntero es una implementación más concreta y simple del tipo de datos de referencia más abstracto. Varios lenguajes soportan algún tipo de puntero, aunque algunos tengan más restricciones en su uso que otros. Mientras que se utilice un "puntero" para referirse a referencias en general, se aplica más propiamente a las estructuras de datos cuya interfaz permita explícitamente que el puntero sea manipulado (aritméticamente vía aritmética de punteros) como una dirección de memoria, en oposición a una cookie u opción dónde esto no sea posible.[cita requerida] Debido a que los punteros permiten tanto proteger como permitir el acceso a direcciones de memoria, hay riesgos asociados con su uso, sobre todo en este último caso. Generalmente, los punteros primitivas son almacenados en un formato similar a un entero; no obstante, intentar eliminar la referencia o "mirar hacia arriba" hacia un puntero cuyo valor no fue nunca una dirección de memoria válida conllevaría provocar que un programa se bloquee. Para aliviar este potencial problema, como una cuestión de seguridad de tipos, los punteros son considerados un tipo separado parametrizado por un tipo de datos que apuntan a, incluso si la representación subyacente es un número entero. También se pueden tomar otras medidas (como la validación y comprobación de los límites, para verificar el contenido de la variable de puntero contenga un valor que es a la vez una dirección de memoria válida y dentro del rango numérico que el procesador sea capaz de abordar). (es)
  • Un pointeur est en programmation une variable contenant une adresse mémoire. (fr)
  • In programmazione, i puntatori sono tipi di dati che rappresentano la posizione (usando indirizzi di memoria) di elementi del programma come variabili, oggetti, strutture di dati, sottoprogrammi. In generale, i puntatori consentono l'indirizzamento indiretto nei linguaggi di programmazione ad alto livello; fra le applicazioni specifiche vi sono la creazione di strutture dati dinamiche e la simulazione del passaggio di parametri per riferimento in funzioni nei linguaggi che consentono solo il passaggio di parametri per valore. Un concetto strettamente legato ai puntatori è quello di riferimento o reference. (it)
  • ポインタ (pointer) とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照するものである。有名な例としてはC/C++でのメモリアドレスを表すポインタが挙げられる。 なお、C++では、さらに独立した「参照」というものがある(の節を参照)。 (ja)
  • Een pointer is in een programmeertaal een variabele die als waarde een geheugenadres bevat. De waarde van een pointer kan het adres van een variabele zijn (mogelijk een andere pointer), maar het kan ook naar een willekeurig ander adres verwijzen, bijvoorbeeld een stuk gealloceerd geheugen, of zelfs een functie. (nl)
  • W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów - wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”. Wskaźnik jest indeksem do tej tablicy – najczęściej ów indeks jest jednocześnie logicznym adresem. Zwykle istnieje też specjalny symbol, który określa wskazanie jako puste. W językach C, Cyclone jest to NULL, w C++ nullptr, w Pascalu nil. Wskaźnik taki nie wskazuje na nic (konkretnie: jego wartość liczbowa jako adresu jest równa 0), gdyż w nowoczesnych systemach operacyjnych żaden proces nie ma dostępu do komórki pamięci o adresie 0, stąd też jest ona wykorzystywana do oznaczenia wskazania do niczego. Wartość ta służy np. do oznaczania końca listy jednokierunkowej, liści drzewa binarnego itp. W nowszych językach takich jak Java czy C# zamiast wskaźników używa się ulepszonej formy referencji, które nigdy nie mogą wskazywać na przypadkowy adres pamięci, mogą jedynie wskazywać na rzeczywisty obiekt lub mieć wartość null. Eliminuje to całą kategorię błędów wynikających z próby interpretacji przypadkowego fragmentu pamięci jako obszaru zawierającego konkretne, użyteczne dane. Nie dają one jednak pełnej kontroli nad pamięcią i uniemożliwiają wykorzystanie wskaźników do szybkiego poruszania się po tablicy. (pl)
  • Em programação, um ponteiro ou apontador é um tipo de dado de uma linguagem de programação cujo valor se refere diretamente a um outro valor alocado em outra área da memória, através de seu endereço. Um ponteiro é uma simples implementação do tipo referência da Ciência da computação. (pt)
  • Указатель (англ. pointer) — переменная, диапазон значений которой состоит из адресов ячеек памяти или специального значения — нулевого адреса. Последнее используется для указания того, что в данный момент указатель не ссылается ни на одну из допустимых ячеек. Русское название термин получил по аналогии с дорожными указателями, на них обозначают направление и расстояние до того или иного города. (ru)
  • 在计算机科学中,指標(英语:Pointer),是程式語言中的一类数据类型及其物件或變數,用來表示或儲存一個記憶體位址,這個位址的值直接指向(points to)存在该地址的对象的值。 指標參考(reference)了記憶體中一個位址。通過被稱為指標反參考(dereferencing)的動作,可以取出在那個位址中儲存的值。保存在指標指向的位址中的值,可能代表另一個變數、結構、物件或函數。但是從从指標值是無法得知它所參照的記憶體中儲存了什麼資料型別的資訊。可以打个比方,假設將電腦記憶體當成一本書,一張內容記錄了某個頁碼加上行號的便利貼,可以被當成是一個指向特定頁面的指標;根據便利貼上面的頁碼與行號,翻到那個頁面,把那個頁面的那一行文字讀出來,就相當於是對這個指標進行反參考的動作。可做一类比以增强对指针的理解:整形(integral)也是一类数据类型及其物件或變數,可定义具体的数据类型如短整形(short)、长整形(long)、长长整形(long long)、无符号整形(unsigned)等等;也可以用于称呼整形值、整形对象、整形变量等。又如,一个浮点指针(float *),可称作指向了一个浮点类型的对象。 在高級語言中,指標有效的取代了在低階語言(如匯編語言與機器碼)直接使用内存地址。但它可能只適用於合法位址之中。因為指標更貼近硬體,編譯器能夠很容易的將指標翻譯為機械碼,這使指標操作時的負擔較少,因此能夠提高程式的運作速度。 使用指標能夠簡化許多資料結構的實作,例如在遍歷字串,查取表格,控制表格及樹狀結構上。對指標進行複製,之後再解參照指標以取出資料,無論在時間或空間上,都比直接複製及存取資料本身來的經濟快速。指標表示法較為直覺,使程式的表達更為簡潔,同時也能夠提供動態機制來建立新的節點。 在程序編程(procedural programming)中,指標也被用來保存系統呼叫流程,以及動態連結資料庫(DLL)的進入點位址。在物件導向編程中,使用函數指標(Function pointer)來綁定方法(method),常見於虛擬方法表(Virtual method table)中。 但是指標本身也存在一些可被滥用之处,在存取某個資料結構時,可能會超出可用範圍,使軟體或作業系統出現異常,嚴重時可造成當機。利用指標去存取或修改非合法可取用的資料,也可能造成安全性問題。为此,C与C++语言规定指针类型为强类型,即指针值不仅是一个内存地址,同时它的数据类型说明了存在这个地址可以安全访问的地址的范围,例如,float*可以访问4个字节的内存空间,double*可以访问8个字节的内存空间。 許多程式語言中都支援某種形式的指標,最著名的是C語言,但是有些程式語言對指標的運用採取比較嚴格的限制。因為指標的機制比較簡單,其功能可以被集中重新實作成更抽象化的參照(reference)資料形別,如Java一般避免用指针,改為使用參照。 (zh)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 459018 (xsd:integer)
dbo:wikiPageRevisionID
  • 743690579 (xsd:integer)
dbp:quote
  • I do consider assignment statements and pointer variables to be among computer science's most valuable treasures.
dbp:source
  • Donald Knuth, Structured Programming with go to Statements
dbp:width
  • 33.0
dct:subject
http://purl.org/linguistics/gold/hypernym
rdf:type
rdfs:comment
  • Un pointeur est en programmation une variable contenant une adresse mémoire. (fr)
  • ポインタ (pointer) とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照するものである。有名な例としてはC/C++でのメモリアドレスを表すポインタが挙げられる。 なお、C++では、さらに独立した「参照」というものがある(の節を参照)。 (ja)
  • Een pointer is in een programmeertaal een variabele die als waarde een geheugenadres bevat. De waarde van een pointer kan het adres van een variabele zijn (mogelijk een andere pointer), maar het kan ook naar een willekeurig ander adres verwijzen, bijvoorbeeld een stuk gealloceerd geheugen, of zelfs een functie. (nl)
  • Em programação, um ponteiro ou apontador é um tipo de dado de uma linguagem de programação cujo valor se refere diretamente a um outro valor alocado em outra área da memória, através de seu endereço. Um ponteiro é uma simples implementação do tipo referência da Ciência da computação. (pt)
  • Указатель (англ. pointer) — переменная, диапазон значений которой состоит из адресов ячеек памяти или специального значения — нулевого адреса. Последнее используется для указания того, что в данный момент указатель не ссылается ни на одну из допустимых ячеек. Русское название термин получил по аналогии с дорожными указателями, на них обозначают направление и расстояние до того или иного города. (ru)
  • In computer science, a pointer is a programming language object, whose value refers to (or "points to") another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number. (en)
  • 25بك المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016)25بك لقد اقترح دمج محتويات هذه المقالة أو الفقرة في المعلومات تحت عنوان مؤشر (برمجة). (نقاش) في حين أن المؤشرات قد استخدمت لتمثل المراجع عموماً إلا أنها تنطبق بشكل أكثر ملاءمة على تراكيب البيانات التي تسمح واجهتها بوضوح للمؤشر أن يعالج بوصفه عنوان ذاكرة. ولأن المؤشرات تسمح بالوصول الغير محمي بشكل واسع لعناوين الذاكرة فإن هناك بعض الخطورة المصاحبة لاستخدامها. (ar)
  • Mit Zeiger (auch englisch pointer) wird in der Informatik ein spezieller Wert bezeichnet, dessen Bedeutung eine Speicheradresse ist. An dieser Adresse können entweder Daten, wie Variablen oder Objekte, aber auch Programmcode (Anweisungen) stehen. Durch Dereferenzierung des Zeigers ist es möglich, auf die Daten oder den Code zuzugreifen. Zeiger werden unter anderem dazu verwendet, dynamischen Speicher zu verwalten. So werden bestimmte Datenstrukturen, zum Beispiel verkettete Listen, in der Regel mit Hilfe von Zeigern implementiert. (de)
  • En ciencias de la computación, un puntero es un objeto del lenguaje de programación, cuyo valor se refiere a (o "apunta a") otro valor almacenado en otra parte de la memoria del ordenador utilizando su dirección. Un puntero referencia a una ubicación en memoria, y a la obtención del valor almacenado en esa ubicación se la conoce como desreferenciación del puntero. A modo de analogía, un número de página en el índice de un libro podría considerarse un puntero a la página correspondiente; desreferenciar un puntero sería como ir a la página con el número de página especificada en el índice. (es)
  • In programmazione, i puntatori sono tipi di dati che rappresentano la posizione (usando indirizzi di memoria) di elementi del programma come variabili, oggetti, strutture di dati, sottoprogrammi. In generale, i puntatori consentono l'indirizzamento indiretto nei linguaggi di programmazione ad alto livello; fra le applicazioni specifiche vi sono la creazione di strutture dati dinamiche e la simulazione del passaggio di parametri per riferimento in funzioni nei linguaggi che consentono solo il passaggio di parametri per valore. (it)
  • W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów - wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”. (pl)
  • 在计算机科学中,指標(英语:Pointer),是程式語言中的一类数据类型及其物件或變數,用來表示或儲存一個記憶體位址,這個位址的值直接指向(points to)存在该地址的对象的值。 指標參考(reference)了記憶體中一個位址。通過被稱為指標反參考(dereferencing)的動作,可以取出在那個位址中儲存的值。保存在指標指向的位址中的值,可能代表另一個變數、結構、物件或函數。但是從从指標值是無法得知它所參照的記憶體中儲存了什麼資料型別的資訊。可以打个比方,假設將電腦記憶體當成一本書,一張內容記錄了某個頁碼加上行號的便利貼,可以被當成是一個指向特定頁面的指標;根據便利貼上面的頁碼與行號,翻到那個頁面,把那個頁面的那一行文字讀出來,就相當於是對這個指標進行反參考的動作。可做一类比以增强对指针的理解:整形(integral)也是一类数据类型及其物件或變數,可定义具体的数据类型如短整形(short)、长整形(long)、长长整形(long long)、无符号整形(unsigned)等等;也可以用于称呼整形值、整形对象、整形变量等。又如,一个浮点指针(float *),可称作指向了一个浮点类型的对象。 (zh)
rdfs:label
  • مؤشر (لغات البرمجة) (ar)
  • Pointer (computer programming) (en)
  • Zeiger (Informatik) (de)
  • Puntero (informática) (es)
  • Pointeur (programmation) (fr)
  • Puntatore (programmazione) (it)
  • ポインタ (プログラミング) (ja)
  • Pointer (programmeerconcept) (nl)
  • Zmienna wskaźnikowa (pl)
  • Ponteiro (programação) (pt)
  • Указатель (тип данных) (ru)
  • 指標 (電腦科學) (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is foaf:primaryTopic of