Latest web development tutorials

언어 포인터를 이동

포인터의 언어를 배우고, 더 쉽게 몇 가지 작업을 수행 할 수 있습니다 이동 언어 포인터를 사용하기 쉬운 이동합니다.

우리가 언어 이동 포인터를 배우고 단계별로하자.

우리 모두는 변수가 참조 컴퓨터의 메모리 주소에 대한 편리한 자리 표시 자입니다 것을 알고있다.

해당 변수의 메모리 주소를 반환합니다 사용하기 전에 변수로, 주소 언어 문자를 가져 가고있다 &.

다음 예는 메모리에서 변수 주소를 보여줍니다

package main

import "fmt"

func main() {
   var a int = 10   

   fmt.Printf("变量的地址: %x\n", &a  )
}

위의 코드의 출력 결과를 실행합니다 :

变量的地址: 20818a220

이제 우리는 메모리 주소와 방법이 액세스하는 것을 이해. 다음으로, 우리는 포인터를 소개합니다.


포인터는 무엇인가

포인터는 상기 메모리 어드레스의 값을 가리키는 임의의 변수 값 메모리 어드레스를 가리킬 수있다.

변수와 상수처럼 포인터를 사용하기 전에 당신은 포인터를 선언해야합니다. 다음과 같은 형식의 포인터 선언 :

var var_name *var-type

VAR 형 포인터 타입은 var_name 반은 별표 (*)는 포인터로 변수를 지정하는 데 사용됩니다, 포인터 변수 이름입니다. 다음은 유효한 포인터의 선언입니다 :

var ip *int        /* 指向整型*/
var fp *float32    /* 指向浮点型 */

이 경우는 int로 포인터와 float32 포인터이다.


어떻게 포인터를 사용하는 방법

포인터 과정 :

  • 포인터 변수를 정의합니다.
  • 포인터 변수입니다.
  • 어드레스 포인터 변수 액세스 포인트의 값.

포인터 형의 앞에 포인터 포인트를 얻기 위해 별표 (접두사)를 추가합니다.

package main

import "fmt"

func main() {
   var a int= 20   /* 声明实际变量 */
   var ip *int        /* 声明指针变量 */

   ip = &a  /* 指针变量的存储地址 */

   fmt.Printf("a 变量的地址是: %x\n", &a  )

   /* 指针变量的存储地址 */
   fmt.Printf("ip 变量的存储地址: %x\n", ip )

   /* 使用指针访问值 */
   fmt.Printf("*ip 变量的值: %d\n", *ip )
}

출력 인 상기의 실시 예 :

a 变量的地址是: 20818a220
ip 变量的存储地址: 20818a220
*ip 变量的值: 20

널 포인터를 이동

포인터가 어떤 변수에 할당하지 정의 된 후 때, 그 값은 전무하다.

nil이 포인터는 널 포인터라고합니다.

모두 같은 개념과 다른 언어, 없음, 전무, NULL에 널 (null) 전무는 제로 또는 빈 값을 참조하십시오.

포인터 변수는 일반적으로 PTR을 생략한다.

다음 예를 참조하십시오 :

package main

import "fmt"

func main() {
   var  ptr *int

   fmt.Printf("ptr 的值为 : %x\n", ptr  )
}

위 예제의 출력은 다음과 같습니다

ptr 的值为 : 0

널 포인터 판단 :

if(ptr != nil)     /* ptr 不是空指针 */
if(ptr == nil)    /* ptr 是空指针 */

포인터 더 이동

다음으로, 우리가 소개합니다 더 많은 언어 포인터 응용 프로그램을 이동

함유량 기술
포인터 배열을 이동 사용자는 주소를 저장하는 포인터 배열을 정의 할
포인터로 포인터를 이동 포인터로 지원 포인터를 이동
전달 함수 포인터 파라미터처럼 이동 함수 호출이 값을 변경할 수 있습니다 참조 또는 주소 상원에 의해,