今日学习收获:
操作符:a++与++a的区别:(反之a--与--a同理)
int a = 10;
int b = a++;//后置,先使用其变量(10赋值给b),在进行++
//int b = a; a = a+1;
int b = a;
printf("%d\n",b); // b = 10
printf("%d\n",a);// a = 11
int a = 10;
int b = ++a;//前面先++,后使用
//int a = a + 1; b = a;
printf("%d\n",b); // b = 11
printf("%d\n",a);// a = 11
三目运算符:
A?B:C
a1?a2:a3
a1为真 则a2为真 a3为假 输出a2
a1为假 则a2为假 a3为真 输出a3
int a = 10;
int b = 20;
int r = a > b? a : b
例:a > b 假 则不输出a的值,输出b的值 //b = 20;
int a = 20;
int b = 10;
int r = a > b? a : b
例: a > b 真 则输出a的值,不输出b的值 // a = 20a
还有static typedef extern关键字的使用
#include <stdio.h>
//全局变量在main函数外面,单独定义的变量就是全局变量,而在main函数里为局部变量,同时局部变量又分为两种情况{在大括号里头的局部变量}和在外面
//typedef 类型重命名(typedef unsingned int uint(定义在全局变量);后面代码就不用在前缀可直接使用uint就行)
//int g_val = 2024;另一页定义的(因为不好区分只能在此页用)C1
//extern C2 把C1页定义的值用extern int g_val;就能调用来C2页使用
//用static修饰全局变量时,就只能在此页使用(固定在用了static页使用,不能被外部使用)
void test()
{
static int a = 1;//局部静态变量,不会把a的值归零而是存下2等后续运行在加1变为3...
//int a = 1 //正常运行完回到主函数的代码,所有东西归零
printf("%d ",a);
}
int main(){
int i = 0;
while(i < 10)
{
test();//从主函数(main)运行到此后跳转到void函数运行完成在返回来执行下码i++
i++;
}
return 0;
}
指针初见
/*
int main(){
int a = 10;
printf("%p\n",&a);//取到a的地址(用16进制表示)
int* p =&a;//p为指针变量 把a的地址给p
*p = 20;
printf("%d\n",a);//输出结果a为20
return 0;
}*/
知识体系混乱,结构不清晰,这可能是初学者必须经历的一个过程,以上代码运行可以看懂,这是一个好的开始,继续保持!坚持重复!