C 指針區(qū)分

看下如下各種的區(qū)別:

//int *p
//int *p[n]    指針數(shù)組
//int (*p)[n]   數(shù)組指針
//int *p() 函數(shù)返回值
//int (*p)() 函數(shù)指針
//int **p 指針的指針
// 常量指針   const char *p;   char const *p; 指針的指向可以修改皮服,指向的值不可以修改
// 指針常量   char *p const c;  指向的地址不可以修改

數(shù)組指針例子:

int array[] = {1, 2, 3, 4, 5};
int (*ptr_array)[5] = &array;
int *p = NULL;
int i = 0;
for (i = 0; i < 5; i++) {
    printf("array[%d]=%d, *(array+%d)=%p\n", i, array[i], i, *(ptr_array + 1));
    printf("&array[%d]=%p, array+%d=%p\n", i, &array[i], i, array + i);

}

for (p = array; p < array + 5; p++) {
    printf("p=%p,*p=%d\n", p, *p);
}
  -> 二維數(shù)組

int arr[][3] = {
        {1,  2,  3},
        {4,  5,  6},
        {7,  8,  9},
        {10, 11, 12}
};
int (*ptr_arr)[3] = arr;

printf("%d\n", *(*(ptr_arr + 1) + 1));
printf("%d\n", arr[1][1]);

指針數(shù)組:

int *color[] = {"red", "green", "blue"};
int i;
for (i = 0; i < 3; i++) {
    puts(color[i]);
    printf("color[%d]=%p\n", i, &color[i]);
    color[i] = "colors";
    printf("color[%d]=%p\n", i, &color[i]);
}

查找字符串的例子:

    int find(const char *src, char ch, char **ret) {
        char * index = (char *)src;
        while (*index){
            if(*index == ch){
                *ret = index;
                return 1;
            }
            index ++;
        }
        return 0;
    }

    ->  在main里面測(cè)試調(diào)用 雙指針
    char zero[] = "jiangde shenme laji chengdu";
    char *ret = NULL;
    if(find(zero,'l',&ret)){
        printf("%s\n",ret);
    }

數(shù)組名字相當(dāng)于指針:

void test5(int array[]){
    printf("%d size\n", sizeof(array));

    array[0] = 100;
    printf("%d size\n", sizeof(array));
}

void test6(int *array){
    printf("%d size\n", sizeof(array));

    array[0] = 100;
    printf("%d size\n", sizeof(array));

}
-> 測(cè)試調(diào)用
int arr[5] = {1,2,3,4,5};
test6(arr);
printf("%d\n",arr[0]);

函數(shù)指針:

void test7(int n){
    printf("函數(shù)指針:%d\n",n);
}
-> 調(diào)用
void (*p)(int);
p = &test7;
p(100);

回調(diào)小例子:

int call(int i,int j){
    return i+j;
}
int test8(int a,int b,int (* callback)(int,int)){
    return (callback(a,b));
}
-> 調(diào)用
printf("function callback:%d\n",test8(1,2,call));
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載脆淹,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末鸳谜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子民泵,更是在濱河造成了極大的恐慌皆撩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件续誉,死亡現(xiàn)場(chǎng)離奇詭異莱没,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)酷鸦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)饰躲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)牙咏,“玉大人,你說(shuō)我怎么就攤上這事嘹裂⊥” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵寄狼,是天一觀(guān)的道長(zhǎng)盯拱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)例嘱,這世上最難降的妖魔是什么狡逢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮拼卵,結(jié)果婚禮上奢浑,老公的妹妹穿的比我還像新娘。我一直安慰自己腋腮,他們只是感情好雀彼,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著即寡,像睡著了一般徊哑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上聪富,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天莺丑,我揣著相機(jī)與錄音,去河邊找鬼墩蔓。 笑死梢莽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奸披。 我是一名探鬼主播昏名,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼阵面!你這毒婦竟也來(lái)了轻局?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤样刷,失蹤者是張志新(化名)和其女友劉穎仑扑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體颂斜,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夫壁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沃疮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盒让。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梅肤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邑茄,到底是詐尸還是另有隱情姨蝴,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布肺缕,位于F島的核電站左医,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏同木。R本人自食惡果不足惜浮梢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望彤路。 院中可真熱鬧秕硝,春花似錦、人聲如沸洲尊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坞嘀。三九已至躯护,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丽涩,已是汗流浹背棺滞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留内狸,地道東北人检眯。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓厘擂,卻偏偏與公主長(zhǎng)得像昆淡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刽严,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.語(yǔ)言中變量的實(shí)質(zhì) 要理解C指針昂灵,我認(rèn)為一定要理解C中“變量”的存儲(chǔ)實(shí)質(zhì), 所以我就從“變量”這個(gè)東西開(kāi)始講起吧...
    金巴多閱讀 1,732評(píng)論 0 9
  • 一本道來(lái)其他系列C語(yǔ)言關(guān)鍵字C語(yǔ)言注釋符號(hào)一本道來(lái)C語(yǔ)言編譯預(yù)處理技術(shù)一本道來(lái) 指針的基礎(chǔ) 注意本節(jié)內(nèi)容可能在gc...
    PcDack閱讀 1,251評(píng)論 0 2
  • 面向?qū)ο蟮某绦蛟O(shè)計(jì)思想是什么?答:把數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的方法封裝形成一個(gè)個(gè)的對(duì)象倒脓。 什么是類(lèi)撑螺?答:把一些...
    飛揚(yáng)code閱讀 2,699評(píng)論 0 11
  • 在c語(yǔ)言中,字符串是用字符數(shù)組來(lái)存儲(chǔ)的(并不像c++或者java等語(yǔ)言中有單獨(dú)的string類(lèi)型)崎弃, 存放時(shí)在字符...
    朱森閱讀 1,555評(píng)論 0 2
  • 指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類(lèi)型甘晤。 運(yùn)用指針編程是C語(yǔ)言最主要的風(fēng)格之一含潘。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,424評(píng)論 3 44