1. 程式人生 > >陣列指標與指標陣列 函式指標與指標函式

陣列指標與指標陣列 函式指標與指標函式

/*

陣列指標實質是一個指標,它指向陣列,如對於一個二維陣列指標,指標指向每行元素的首地址
*/
/*
#include<stdio.h>

int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int (*Pint)[3]=&a[0];
printf("%d\n",(*Pint)[0]);//1 等價於printf("%d\n",*Pint[0]);
printf("%d\n",(*Pint)[1]);//2
printf("%d\n",(*Pint)[8]);//9
printf("%d\n",*(Pint+1)[0]);//4 等價與 printf("%d\n",*(Pint+0)[1]);
printf("%d\n",*(Pint+0)[1]);//7

return 0;
}
*/


/*******************************************************************指標陣列*********************************************************/
//指標陣列,實質是指向一個數組,陣列中,每個元素都為一個指標
/*
總結:本例是由3個指標組合成一個數組指標,每個指標指向一個字串


#include<stdio.h>
#include<string.h>
int main()
{
char *str1="hello";
char *str2="WORLD";
char *str3="mingtian";
char *STR[3]={str1,str2,str3};
printf("%s\n",STR[0]);
printf("%s\n",STR[2]);
return 0;
}
*/
/*******************************************************************函式指標*********************************************************/
/*總結:1.函式指標是個指向函式的指標,首先定義:定義如下 (函式返回值型別)(*指標名)(函式引數型別)如:void (*fun)(void)
定義一個指向返回值型別為空,無引數的函式的函式指標
2.定義函式指標時函式引數型別一定要有
3.在主函式中使用函式指標時,函式指標後面一定要帶上括號,括號裡面是函式指標指向函式的引數。
*/
/*
#include<stdio.h>

void show(void)
{
printf("這是一個測試函式\n");
}

int main()
{
void (*fun)(void)=show;
//show();
fun();
return 0;
}
*/
/*******************************************************************指標函式*********************************************************/
/*
總結:1.區別指標函式和函式指標的的定義的不同,和指標陣列和陣列指標的區別一樣
2.指標函式必須帶有返回值,不然會出錯(需要查資料驗證猜想的正確性)
*/


#include<stdio.h>
#include<windows.h>
int *function(void);//指標函式
int main()
{
function();
system("pause");
return 0;
}
int *function(void)
{

printf("1234\n");
return 0;

}