C語言之int *f()、int(*f)()、int *a[]、int (*a)[] 區別小記

發芽ing的小啊嗚發表於2020-12-14


叮嘟!這裡是小啊嗚的學習課程資料整理。好記性不如爛筆頭,今天也是努力進步的一天。一起加油進階吧!
在這裡插入圖片描述

C語言之int *f()、int(*f)()、int *a[]、int (*a)[] 區別小記

int *f()表示這個函式的功能是返回一個地址

int(*f)()表示這是一個函式的指標。它要指向一個函式才能有用,指向一個函式之後可以用它來代替該函式。之後使用這個指標相當於使用該函式。

int *a[]是一個指標陣列,表示陣列中的每一個元素都是一個指標,可以指向一個int型別的數值。

int (*a)[]這是一個指向多維陣列的指標變數

例如:

int (*p)[100]; 
表示p 是一個指標變數,它指向一個包含有100個元素的一維陣列。

看下面例子:

#include <stdio.h>
#include <string.h>

int main(){
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
int (*p)[4];
int i,j;
p=a;
for(i=0;i<3;i++)
{
    for(j=0;j<4;j++)
    printf("%2d ",*(*(p+i)+j));
printf("\n");}
return 0;
}

在這裡插入圖片描述

Ending!
更多課程知識學習記錄隨後再來吧!

就醬,嘎啦!

在這裡插入圖片描述

注:
人生在勤,不索何獲。

相關文章