CODESYS - Difference between pointer and reference
Автор: AT&U
Загружено: 2021-02-28
Просмотров: 10245
A pointer from type T points to an object from type T (T = basic or user-defined datatype)
A pointer holds the address of the object that is pointing to
The fundamental operation with a pointer is called "dereferencing". The dereferencing in CODESYS is done with the symbol "^"
A pointer can point to a different object at a different time
Before dereferencing a pointer and assigning a value to it, you should always check if a pointer points to an object. (pointer = 0)?
A reference from type T "points" to an object from type T (T = basic or user-defined datatype)
A reference must be initialized with an object and its "pointing" to this object through the program
A reference must not be dereferenced as a pointer and it can be used with the same syntax as the object
Another word for reference is "Alias" (another name) a pseudonym for the object
The reference doesn't have its own address and a pointer does. The address of the reference is the same as the "pointed" object.
There is no 0 reference, so you should never call the reference if it's not initialized
You should check if you have a valid reference with the CODESYS integrated keyword "__ISVALIDREF"
The best use of pointers and references is when you want to pass or return an object of some type to a function or function block by "reference" because the object is either too big or you want to manipulate the passed object within the function/function block. Make sure that, the reader of your code knows that you're going to change the value of the object within the function/function block if this is what you intend to do when you pass it as an argument.
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: