C語言學習Day16

初識指針

#define _CRT_SECURE_NO_WARNINGS 1

/************************************************
         * @Title:> brief
         * @Description:> brief
         * @author:> HuaGe
         * @date:> 2020/10/29  8:46
 *************************************************
*筆記:
一、通常狀況數組名就是首元素地址
(   特殊1:sizeof(數組名)--此時的數組名錶示整個數組,計算整個數組大小,單位是字節;
    特殊2:&數組名--表示取出整個數組的地址,但整個數組的地址和首元素地址值同樣,但意義不同。)
二、數組名只是一個地址(不可變),而指針是一個左值(可變)
三、指針數組:
    char *p[] = { "I Love You!","meet you" };

    for (int i = 0; i < 2 ; i++){
        printf("%s\t", p[i]);//%s經過字符串的首地址來輸出整個字符串
    }
四、數組指針
    int (*p2)[4] = &arr;//(*p2)[4]數組指針指向的是整個數組,*p2是數組的地址
************************************************/

#include <stdio.h>

int main()
{
    int arr[] = { 1,5,3,7 };
    int *p = arr;//p指向的是數組的第一個元素的地址,並非指向整個數組
    int (*p2)[4] = &arr;//(*p2)[4]數組指針指向的是整個數組

    for (int i = 0; i < 4; i++) {
        printf("%d\t", *(*p2+i));
    }

    return 0;
}

操做符

*筆記:
一、>> 右移符號位,移的是二進制位,右邊丟棄,左邊補0(正數)或補1(負數),有除2的效果。
二、<< 左移操做符,二進制左移一位,右邊補零。(注:不支持移動負位(如a>>-1),且只做用於整數)
C語言學習Day16數組

相關文章
相關標籤/搜索