cc.日常

这篇博客探讨了C语言中指针和数组的使用,重点在于如何实现数组的旋转和反转。`swap`函数用于交换两个元素,`reverse`函数实现了数组的反转,而`rotate`函数通过两次反转实现了数组的旋转。这些操作对于理解指针和数组的底层原理至关重要。
摘要由CSDN通过智能技术生成

compact 小型的,袖珍的

reverse 逆转

neutral 中立的

imperial 帝国的

oppress 压迫

slope 斜坡

peculiar 独特的

Herald 预示

straightforward 简单的

cordial 热情友好的

prudent 谨慎的

desolate 荒凉的

atmosphere 大气层

vibrate 振动

restrict 限制

panorama 全景

reconcile 使和谐一致

accuracy 准确的

degenerate 退化

appointment 任命

surveillance 监视


算法

//数组反转
void swap(int *a,int *b){
    int t=*a;
    *a=*b;
    *b=t;
}

void reverse(int*nums,int start,int end){
    while(start<end){
        swap(&nums[start],&nums[end]);
        start++;
        end--;
    }
}

void rotate(int* nums, int numsSize, int k){
    k%=numsSize;
    reverse(nums,0,numsSize-1);
    reverse(nums,0,k-1);
    reverse(nums,k,numsSize-1);
}

&

取值运算符,用来取得其操作数的地址。如果操作数 x 的类型为 int,则表达式 &x 的类型是 int型指针(指向 T 的指针)。
取址运算符的操作数必须是在内存中可寻址到的地址。即该运算符只能用于函数或对象,不可以用于位字段,以及那些还未被存储类修饰符 register 声明的内容。

float x, *ptr;
ptr = &x;           // 合法:使得指针ptr指向x
ptr = &(x+1);       // 错误: (x+1) 不是一个左值

*

间接运算符,当已具有一个指针,并且希望获取它所引用的对象时,它的操作数必须是指针类型。如果 ptr 是指针,那么 *ptr 就是 ptr 所指向的对象或函数。如果 ptr 是一个对象指针,那么 *ptr 就是一个左值,可以当作赋值运算符左边的操作数

float x, *ptr = &x;
*ptr = 1.7;                                      // 将1.7赋值给变量x
++(*ptr);                                        // 并将变量x的值加1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值