«pointers» 태그된 질문

메모리에 저장된 다른 값을 "가리키는"데이터 유형. 포인터 변수는 다른 엔티티 (변수 또는 함수 또는 다른 엔티티)의 메모리 주소를 포함합니다. 이 태그는 참조가 아닌 포인터 사용과 관련된 질문에 사용해야합니다. 포인터를 사용하는 가장 일반적인 프로그래밍 언어는 C, C ++, Go 및 어셈블리 언어입니다. 특정 언어 태그를 사용하십시오. 다른 유용한 태그로는 포인터 사용을 설명하는 메소드, 함수, 구조체 등이 있습니다.


6
배열의 주소는 C의 값과 어떻게 다릅니 까?
다음 코드 비트에서 포인터 값과 포인터 주소가 예상과 다릅니다. 그러나 배열 값과 주소는 그렇지 않습니다! 어떻게 이럴 수있어? 산출 my_array = 0022FF00 &my_array = 0022FF00 pointer_to_array = 0022FF00 &pointer_to_array = 0022FEFC #include <stdio.h> int main() { char my_array[100] = "some cool string"; printf("my_array = %p\n", my_array); printf("&my_array = %p\n", &my_array); …
189 c  pointers  arrays 

13
C는 그렇게 어렵지 않습니다 : void (* (* f []) ()) ()
방금 오늘 사진을 보았고 설명을 부탁드립니다. 여기 그림이 있습니다 : 나는 이것이 혼란스럽고 그러한 코드가 실제로 실용적인지 궁금해했다. 나는 사진을 googled 하고이 reddit 항목 에서 다른 사진을 발견 했으며 여기에 그 사진이 있습니다. 그래서이 "나 선식으로 읽는"것은 무엇인가? 이것이 C 컴파일러가 구문 분석하는 방법입니까? 이 이상한 코드에 대한 간단한 설명이 …


2
'this'가 왜 포인터가 아닌 포인터입니까?
나는이 질문 C ++ 장단점에 대한 답변을 읽었으며 의견을 읽는 동안이 의심을 얻었습니다. 프로그래머는 종종 "this"가 포인터이지만 참조가 아니라고 혼동합니다. 또 다른 혼란은 "hello"가 std :: string 유형이 아니지만 char const * (포인터)로 평가되는 이유입니다 (배열에서 포인터로 변환 한 후) – Johannes Schaub-litb 그것은 다른 언어와 같은 규칙을 사용하지 않는다는 …


8
C에서 void 포인터에 대한 포인터 산술
특정 유형 (예 int: char,, float..)에 대한 포인터 가 증가하면 해당 데이터 유형의 크기만큼 값이 증가합니다. 경우 void크기의 데이터에 대한 포인터하는 포인트가 x증가 점에, 어떻게 나올까요 x앞서 바이트? 컴파일러 x는 포인터의 가치 를 높이는 방법을 어떻게 알 수 있습니까?

29
사람들이 C 포인터에 대해 어려운 점은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …
173 c  pointers 


6
C에서 어떤 사람들은 포인터를 해제하기 전에 포인터를 던지는 이유는 무엇입니까?
나는 오래된 코드베이스에서 일하고 있으며 free ()의 모든 호출은 인수에 캐스트를 사용합니다. 예를 들어 free((float *)velocity); free((float *)acceleration); free((char *)label); 여기서 각 포인터는 해당하는 (및 일치하는) 유형입니다. 나는 이것에 전혀 아무런 의미가 없다. 매우 오래된 코드이므로 K & R인지 궁금합니다. 그렇다면 실제로이를 필요로했던 오래된 컴파일러를 지원하고 싶기 때문에 제거하고 싶지 …
167 c  pointers  casting 

10
전체 객체 또는 컨테이너의 객체에 대한 포인터를 저장해야합니까?
처음부터 새로운 시스템을 설계합니다. STL을 사용하여 특정 장기 객체의 목록과 맵을 저장합니다. 질문 : 객체에 복사 생성자가 있는지 확인하고 STL 컨테이너 내에 객체의 사본을 저장해야합니까, 아니면 일반적으로 수명 및 범위를 직접 관리하고 해당 객체에 대한 포인터를 STL 컨테이너에 저장하는 것이 더 낫습니까? 나는 이것이 세부 사항에 대해서는 다소 짧다는 것을 …
162 c++  stl  pointers 

8
C ++ 라이브러리 및 프레임 워크가 스마트 포인터를 사용하지 않는 이유는 무엇입니까?
필자는 원시 포인터를 거의 사용해서는 안된다는 기사를 몇 개 읽었습니다. 대신 범위 또는 공유 포인터에 관계없이 항상 스마트 포인터 내부에 래핑되어야합니다. 그러나 Qt, wxWidgets 및 Boost와 같은 라이브러리와 같은 프레임 워크는 마치 전혀 사용하지 않는 것처럼 스마트 포인터를 반환하거나 기대하지 않습니다. 대신 원시 포인터를 반환하거나 기대합니다. 그 이유가 있습니까? 공개 …

8
C를 사용하여 배열 반환
나는 C를 처음 접했고 배열을 다루는 메소드에 대한 도움이 필요하다. Java 프로그래밍에서 왔으므로 int [] method()배열을 반환하기 위해 말할 수있었습니다 . 그러나 C를 사용하면 배열을 반환 할 때 포인터를 사용해야한다는 것을 알았습니다. 새로운 프로그래머이기 때문에, 내가 살펴본 많은 포럼 에서조차도 이것을 전혀 이해하지 못합니다. 기본적으로 C에서 char 배열을 반환하는 메서드를 …
153 c  arrays  pointers  char 

18
포인터를 삭제 한 후 포인터를 NULL로 만드는 것이 좋습니다.
먼저 말하고 스마트 포인터를 사용하면 걱정할 필요가 없습니다. 다음 코드의 문제점은 무엇입니까? Foo * p = new Foo; // (use p) delete p; p = NULL; 이것은 다른 질문 에 대한 답변과 의견으로 시작 되었습니다. 닐 버터 워스 (Neil Butterworth)의 한 의견은 몇 가지 공감대를 만들었습니다. 삭제 후 포인터를 NULL로 …

12
왜 x [0]! = x [0] [0]! = x [0] [0] [0]입니까?
나는 약간의 C ++을 공부하고 있으며 포인터와 싸우고 있습니다. 다음과 같이 선언하면 3 단계의 포인터를 가질 수 있음을 이해합니다. int *(*x)[5]; 그래서 이것은 *x포인터 인 5 개 요소의 배열에 대한 포인터 int입니다. 또한 내가 알고 x[0] = *(x+0);, x[1] = *(x+1)등등 및 .... 위의 선언에서 왜 그렇 x[0] != x[0][0] …
149 c++  c  arrays  pointers 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.