Pytania otagowane jako pointers

Typ danych, który „wskazuje” na inną wartość przechowywaną w pamięci. Zmienna wskaźnikowa zawiera adres pamięci jakiegoś innego bytu (zmiennej, funkcji lub innego bytu). Tego znacznika należy używać w przypadku pytań związanych ze stosowaniem wskaźników, a nie odniesień. Najpopularniejsze języki programowania używające wskaźników to C, C ++, Go i języki asemblera. Użyj określonego tagu językowego. Inne przydatne tagi to metoda, funkcja, struktura itp. Opisujące użycie wskaźnika.

5
Różnica między * ptr + = 1 i * ptr ++ w C
Właśnie zacząłem uczyć się C i kiedy robiłem jeden przykład dotyczący przekazywania wskaźnika do wskaźnika jako parametru funkcji, znalazłem problem. Oto mój przykładowy kod: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = …


21
Dlaczego adres zero jest używany jako wskaźnik zerowy?
W C (lub C ++ w tym przypadku) wskaźniki są szczególne, jeśli mają wartość zero: radzę ustawić wskaźniki na zero po zwolnieniu ich pamięci, ponieważ oznacza to, że ponowne zwolnienie wskaźnika nie jest niebezpieczne; kiedy wywołuję malloc, zwraca wskaźnik o wartości zero, jeśli nie może uzyskać pamięci; if (p != …
121 c++  c  memory  pointers 

10
Utwórz wskaźnik do dwuwymiarowej tablicy
Potrzebuję wskaźnika do statycznej dwuwymiarowej tablicy. Jak to się robi? static uint8_t l_matrix[10][20]; void test(){ uint8_t **matrix_ptr = l_matrix; //wrong idea } Otrzymuję różnego rodzaju błędy, takie jak: ostrzeżenie: przypisanie z niezgodnego typu wskaźnika wartość indeksowana nie jest tablicą ani wskaźnikiem błąd: nieprawidłowe użycie elastycznego elementu tablicy
120 c  arrays  pointers 

9
Wskaźniki C: wskazujące na tablicę o stałym rozmiarze
To pytanie jest skierowane do guru C: W C można zadeklarować wskaźnik w następujący sposób: char (* p)[10]; .. który zasadniczo stwierdza, że ​​ten wskaźnik wskazuje na tablicę 10 znaków. Zaletą deklarowania takiego wskaźnika jest to, że jeśli spróbujesz przypisać wskaźnik tablicy o różnym rozmiarze do p, otrzymasz błąd czasu …
120 c  pointers  size 



2
Jak zrobić dosłowne * int64 w Go?
Mam typ struktury z *int64polem. type SomeType struct { SomeField *int64 } W pewnym momencie w moim kodzie chcę zadeklarować literał tego (powiedzmy, kiedy wiem, że wspomniana wartość powinna wynosić 0 lub wskazująca na 0, wiesz, o co mi chodzi) instance := SomeType{ SomeField: &0, } ... poza tym, że …
113 pointers  go  struct  literals 



10
Czy free (ptr), gdzie ptr to NULL uszkodzona pamięć?
Teoretycznie mogę to powiedzieć free(ptr); free(ptr); to uszkodzenie pamięci, ponieważ zwalniamy pamięć, która została już zwolniona. Ale co gdyby free(ptr); ptr=NULL; free(ptr); Ponieważ system operacyjny będzie zachowywał się w nieokreślony sposób, nie mogę uzyskać faktycznej teoretycznej analizy tego, co się dzieje. Cokolwiek robię, czy to uszkodzenie pamięci, czy nie? Czy …


6
Co sprawia, że ​​użycie wskaźników jest nieprzewidywalne?
Obecnie uczę się wskazówek, a mój profesor podał ten fragment kodu jako przykład: //We cannot predict the behavior of this program! #include <iostream> using namespace std; int main() { char * s = "My String"; char s2[] = {'a', 'b', 'c', '\0'}; cout << s2 << endl; return 0; } …
108 c++  pointers 

2
Odbiornik wartości a odbiornik wskaźnika
Jest dla mnie bardzo niejasne, w którym przypadku chciałbym użyć odbiornika wartości zamiast zawsze używać odbiornika wskaźnika. Podsumowując z dokumentów: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return 1 } …
108 function  pointers  go 

2
„<typ> jest wskaźnikiem do interfejsu, a nie interfejsu”
Drodzy programiści, Mam ten problem, który wydaje mi się trochę dziwny. Spójrz na ten fragment kodu: package coreinterfaces type FilterInterface interface { Filter(s *string) bool } type FieldFilter struct { Key string Val string } func (ff *FieldFilter) Filter(s *string) bool { // Some code } type FilterMapInterface interface { …
105 pointers  go  interface 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.