【例题】指针

  勇芳 2017-3-31 6659

'' 变量指针:
''
	dim as integer i = 5
	dim as integer ptr p

	p = @i
	print i, *p

''
''程序指针:
''
	sub sayhi( )
		print "hi"
	end sub

	sayhi( )

	dim psayhi as sub( ) = @sayhi
	psayhi( )


	function add( byval a as integer, byval b as integer ) as integer
		return a + b
	end function

	print add( 1, 2 )

	type AddFn as function( byval as integer, byval as integer ) as integer
	dim padd as AddFn = @add
	print padd( 1, 2 )

''
'' 指针索引(与数组非常相似):
''
	'' 为3个整数分配内存
	p = callocate( sizeof(integer) * 3 )

	p[0] = 123
	p[1] = 456
	p[2] = 789
	print p[0], p[1], p[2]

	deallocate( p )

''
'' 以前的 peek():
''
	dim as any ptr address
	dim as byte dat(0 to 3) = { 123, 123, 123, 123 }
	dim as integer j = 12345

	address = @dat(0)
	print peek( address )

	address = @j
	print peek( integer, address )

''
'' 指针 to UDTs:
''
	type MyVector
		as integer x, y, z
	end type

	dim as MyVector v
	dim as MyVector ptr pv = @v
	pv->x = 1
	pv->y = 2
	pv->z = 3

	print pv->x, pv->y, pv->z
	print (*pv).x, (*pv).y, (*pv).z
	with *pv
		print .x, .y, .z
	end with


因国家互联网安全管理要求,关闭回帖功能。大家需要留言,请使用【勇芳软件客服】即时联系勇芳点此打开->>勇芳软件客服
返回
联系勇芳
发新帖 搜索 反馈 回顶部