C语言---(二)(3)代码规范 & 指针详解(b站正月里点灯笼)

行文规范

#include <stdio.h>
int main( )
{
    int a,b;  # 4个空格
    stanf("%d %d", &a,&b);  # 这里是输入格式,切记stanf("%d",&a)
    if(a>b) {  # 习惯放上面
        printf("%d\n", a);  # 这里是打印格式,切记printf(%d,a)  
    }
    else {
        printf("%d\n", b);
    }   
    return 0;
}

1.检查是否是tab键的快捷方法,调节tab为8个空格

2.记住if后面一句话可以不写括号,但是这样不利于将来修改代码,忘了补上会出问题

3.
和->sum、
积->product、
temporary->temp-tmp、
flag->flg标志、
statistic->stat 统计(多用于数组)、
记数count、
increament加1-inc、
decrement减一>dec、
消息message->msg、
value值->val、 

加减乘除
addition->add
subtraction ->sub
multiplication ->mul
divide ->div

取余数 modulus ->mod
max最大值
min最小值
position 位置 ->pos,idx(index)
size大小
array数组->arr

4.有多个单词用下划线
列出所有质数 (prime)
void list_all_prime()
{

}

查找出最大值的位置
int find_max_pos(int arr[],int n)
{

}

5.注释写法

/**
*用于注释下面函数用途
*@param arr 一个数组
*@param n   数组的长度
*@return       最大值的下标
*/
 

/**
*用于注释下面函数用途
*@param arr 一个数组
*@param n   数组的长度
*@return       最大值的下标
*/



//...
if a>b
{
}


int find_max_pos(int arr[], int n)
{

#include <stdio.h>
 
int main(void) {
    int a = 10;
    if (a < 10) {
        int  = a + 10;
        printf("A is less than 10\n");
    }
    else {
    printf("A is greater than 10\n");
    }
    return 0
}




#  if (a < 10)
#        printf("A is less than 10\n");
#尽量不要这样省略括号

 










 

B站视频  https://www.bilibili.com/video/av9855378   讲的挺好的,大概懂了,或于以后还需要再听一遍

指针

int main() {
    int a = 10;
    a++;
    printf("a = %d\n", a);
}

调用函数:void increament()调用完全部被销毁

#include <stdio.h>

void increament(int a) {
    a++;
}



int main() {
    int a = 10;
    increament(a);
    printf("a = %d\n", a);
}
结果a=10

 

 

#include <stdio.h>

void increament(int *p) {
    (*p)++;  # 这里做了改动
}


int main() {
    int a = 10;
    increament(&a);
    printf("a = %d\n", a);
}
# 结果a=11,P所指的a里面的内容++

&a是a的地址,increament,
将a的地址复制一份给*p,
现在*p和&a里面的内容都是10,
然后(p*)++将*p里面的内容加1变成11,
*p销毁&a内容

swap()这里必须用指针

void swap(int*a, int*b)
# 交换内容
# c语言中必须用指针
# 如果不用指针,他会自己创建ab然后自己交换,
# 对main函数里面的ab不造成影响

#貌似写的不对

int arr[] = {5,6,7,8,9}
int *p = &arr[0];

void move_p(int *p, int arr[]) {
    p=&arr[1];
}
int main() {
    int arr[] = {5,6,7,8,9};
    int *p = &arr[0];
    move_p
}


方法一:


#方法一:此种写法是复制了一个指针P给了pointer 最后返回给p
#include <stdio.h>

void increament(int *p) {
    (*p)++;
}

int* void move_p(int*pointer, int arr[]) {  // 返回一个int的地址
    pointer = &arr[1];
    return pointer; 
}

int main() {
    int arr[] = {5,6,7,8,9};
    int *p = &arr[0];
    p = move_p(p,arr);  // p拷贝到move_p()中pointer 
    print("%d\n",*p);  // 现在的p指向6
}

此方法与上不同

point 指向了p的位置,等于6的地址=&arr[1]的地址
方法二:


#方法二:二级指针
#include <stdio.h>

void increament(int *p) {
    (*p)++;
}

int* void move_p(int **pointer, int arr[]) {  // 这里加了*
    *pointer = &arr[1];  // 这里加了*
                         //这里不需要return pointer;了 
}

int main() {
    int arr[] = {5,6,7,8,9};
    int *p = &arr[0];
    move_p(&p,arr);  // 这里是&p是指针的地址, 不再是p = move_p(p,arr); 
    print("%d\n",*p);  
}

9

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉-Archer

图像分割没有团队的同学可加群

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值