C/指针
< C
指标的定义
编辑- 指标为一种变数,储存的内容是记忆体位址。
- 指标的使用会因为目的型态不同而有些微的影响。
变数指标
编辑- 指标的宣告:
int *ptr; /* 則 (int *) 為變數型態,ptr 為變數名稱 */
- 取得记忆体位址:在变数前面使用 '&' 字元。
- 指向记忆体位址:在变数前面使用 '*' 字元。
#include <stdio.h>
int main()
{
int v = 5;
int *ptr = &v;
printf("%d\n", *ptr);
}
函式指标
编辑函式其实也可以是指标。
#include <stdio.h>
typedef void (*MyDelegate)(int i );
MyDelegate test1( int i )
{
printf("%d\n", i );
}
MyDelegate test2( int i )
{
printf("%d\n", i+1 );
}
int
main(int argc, char* argv[])
{
MyDelegate function;
function = (MyDelegate)test1;
function( 21 ); /* 等同於呼叫 test1 */
function = (MyDelegate)test2;
function( 21 ); /* 等同於呼叫 test2 */
}