Day 4

昨天看的都是作业讲解和概念的细讲,导致没什么好说的

~号:按位取反。这个东西昨天烧了我一个小时终于看懂了。

具体就是这样了

++/--用法

++/--前置和后置会产生不一样的效果,具体原因是计算机读取时规则

#include <stdio.h>
int main()
{
  {
  int a = 1;
  int b = ++a;
  printf("test1:%d\n", b);//这里输出的结果是2,因为计算机读取是先++后输出
  }
  {
  int a = 1;
  int b = a++;
  printf("test2:%d\n", b)//这里输出的结果就变成1了,因为计算机读取先输出后++
  }
  return 0;
}

 逗号表达式

int main()
{
  int a = 1;
  int b = 2;
  int c = 3;
  int d = (a = b + c,b = a +1, c = b + 1);//还是计算机的读取规则:逐一读取
//无论前面规定了a的值是多少,后面的值会覆盖掉前面的值,所以计算过程是 {[(2+3)+1]+1}=7
//而这种逗号表达式呢,计算规则是从左往右,结果读取最后(最右边)计算的值
  return 0;
}

下标引用操作符和函数调用操作符

[]:叫做下标引用    ():叫做函数引用

int main()
{
  int test1[10] = {1,2,3,4,5,6,7};
  printf("%d\n", test1[2])//[]这里就是下标引用,顾名思义就是引用第几个下标
//函数调用,一个函数执行时需要的
  return 0;
}

static😋

简称阎王让我三更死,static留我到五更

#include <stdio.h>
void test1()
{
  int a = 1;
  printf("%d\n", a);
  a++;
}

int main()
{
  int b = 0;
  while(b<10)
      test1();
  return 0;
}
//像这种void函数,执行完一遍后就会将内部的值清楚,导致输出的值一直为1
//但是如果在"int a = 1"前面加上static,就会把a的值保留不随函数结束而消失

这是单个源文件内的用法

#include <stdio.h>
extern int a//如果其它源文件中有a这个变量就可以通关extern把变量调用过来
int main()
{
  printf("%d\n", a);
  return 0;
}
//但是如果在其它源文件中给"int a = x"前面加一个static,就可以确保不被其它源文件用extern调用

define定义宏

宏:提前录制好的动作

#include <stdio.h>
#define A(a,b) a+b
int main()
{
  int x = 4*A(2,3);
  printf("%d\n", x);//这里出来的数据并不是20而是11
//如定义所讲,这是一个动作,所以被调用时只是把内容替换掉 = 4*2+3
//所以为了防止这种错误,可以把a+b换成((a)+(b))
  return 0;
}

point指针

point更准确的翻译:指向

#include <stdio.h>
int main()
{
  int a = 10;
  int* place1 = &a;//编程语言中会有一个存储器,这里就可以理解为将a的值存储到place1的地址
//而如果需要用上这个值就可以按照地址名调用
  *place1 = 1;
  printf("%d\n", a);
  return 0;
}

结构体

#include <stdio.h>
struct people//创建类型
{
  char name[10];[]表示长度
  int age;
  int level;
  int property;
}
int main()
{
  people test1 = {"张三",18,fw,10w};//创建人物+结构体数据
  printf("%s %d %d %d",test1.name,test1.age,test1.level,test1.property);
  return 0;
}

  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值