關於c++ * &等與易語言取變量地址關係

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
	int a=0;
	printf ("%d,%d,%d",&a,a,*(&a));//輸出3275984,0,0說明&表示變量數據存放的地址,*表示指向某個地址的數據
	getchar();
	return 0;
}

所以&a就等於易語言中的取變量地址(a)

而易語言對於*指針是沒有的要實現同樣的效果需要調用dll  函數RtlMoveMemory

.版本 2

.DLL命令 拷貝內存_, 整數型, "kernel32", "RtlMoveMemory", , RtlMoveMemory
    .參數 目標數據地址, 整數型, , lpvDest
    .參數 源數據, 整數型, , lpvSource
    .參數 尺寸, 整數型, , cbCopy
該函數參數一,參數二都爲地址,作用是將參數二地址裏存放的數據放到參數一存放的地址裏面去。參數三是存放數據的長度

整數型數據就填4,根據數據類型的字節大小填寫該參數。

 

.版本 2
.支持庫 spec

.程序集 窗口程序集1
.程序集變量 a, 整數型
.程序集變量 b, 整數型

.子程序 _按鈕1_被單擊

a = 4

b = 0
拷貝內存_ (取變量地址 (b), 取變量地址 (a), 4)

調試輸出 (“|” + 到文本 (a) + “,” + 到文本 (取變量數據地址 (a)) + “,” + 到文本 (取變量地址 (a)) + “,” + 到文本 (b))
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章