指针的各种操作

本文展示了C++中指针和数组的使用,包括指针运算、数组初始化、二维数组操作以及字符串处理。通过实例演示了指针在数组元素修改、内存分配与释放、字符串输入输出等方面的应用。同时,文章还涵盖了预处理器指令#define的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值