指针的各种操作

#include <iostream>
#include <vector>
#include <string>

#define sum(a,b,c) a+b+c

using namespace  std;

int a = 3; 
int main()
{
    // int *p = NULL;
    // int a[] = {1, 2, 3, 4};
    // p = a;
    // *(p++) += 100;//*p=*p+100;*p++
    // printf("%d %d %d %d %d\n", *p, a[0], a[1], a[2], a[3]);//2,101,2,3,4

    // int n[][3]={10,20,30,40,50,60};
    // int (*p)[3];
    // p=n;
    // cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
    // p[0][0]指的是第一个元素;
    // p[0]+1指的是第一行第二个元素;
    // (*p)[2]数组指针,表示第一行的第三个元素;
    // **(p+1)表示第二行第一个元素;
    //     一维数组:
    //     a <=> &a[0]        a+1 <=> &a[1]
    //     *a <=> a[0]         *(a+1) <=> a[1]
    // 二维数组:
    //      a[0] <=>&a[0][0]    a[1] <=> &a[1][0]      a[1]+1 <=> &a[1][1]
    //     *a[0] <=>a[0][0]     *a[1] <=> a[1][0]       *(a[1]+1 ) <=> a[1][1]
    // char *p, *q;
    // p = (char*) malloc(sizeof(char) * 20);
    // q = p;
    // scanf("%s %s", p, q);
    // printf("%s %s\n", p, q);
    int s=0; 
    { 
        int a=5;
        s +=a++; 
    } 
    s += a++; 
    printf ("%d\n",s); 

    char ch[]={"abc\0def"};
    char *p= ch;
    printf("%c",*p+4);//e
    printf("%c",*(p+4));//d

    getchar();
    return 0;
}

 

posted @ 2021-10-25 21:43  Kiris  阅读(60)  评论(0编辑  收藏  举报