STM32——C语言课堂原代码

时间:2023-03-09 05:13:52
STM32——C语言课堂原代码
指针
/*
============================================================================
Name : Hello.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h>
void reset(int i);
void reset2(int* p);
void add_by_point(int x,int y,int *result);
int main(void) { printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
int a = ;
int *p1 = &a;
char *p2 = p1; printf("%d\n",p1);
printf("%d\n",p2); printf("%d\n",*p1);//
printf("%d\n",*p2); puts("----------------------");
int c[] = {
,,,,
};
//数组内容值默认为0 (一组数组a定义10个变量,前5个分别是1,2,3,4,5,那么后六个默认为0)
printf("%d\n",c[]);
//数组名也是数字首地址(数组名的地址和首个数字的地址一样,比喻:一栋5层楼相当于一组数组,1层、2层、3层、4层、5层相当于变量的地址,那么的地址这栋楼的地址与第一层楼的地址一样。)
printf("%d\n",c);
//指针运算要根据指针的类型(int、float的字节是4个,char的字节是1个,i例如:int类型的a的地址是1,那么a+1的地址是5,如果a类型是char,则a+1的地址是2)
printf("%d\n",c+);
//
printf("%d\n",*(c+));//带*的是求地址里面的内容
*(c+) = ;
printf("%d\n",*(c+)); puts("----------------------");
int d = ;
reset(d);
//函数独立性
printf("%d\n",d);
reset2(&d);
//使用指针的方式突破函数壁垒
printf("%d\n",d); //什么是返回值
int e = add(,);
printf("e = %d\n",e);
int result = ;
//指针的方式计算结果
add_by_point(,,&result);
printf("result = %d\n",result); }
void reset(int i){
i = ;
}
void reset2(int* p){
*p = ;
} int add(int i,int j ){
/*
* 变量的生命周期
*
* */ int q = i+j;
return q;
} void add_by_point(int x,int y,int *result){
int r = (x + y);
*result = r;
}
/*
============================================================================
Name : hello.c
Author : lei
Version : 137
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h> int main(void) { main2();
return ;
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */ int i = ;
reset(i);
printf("%d\n",i);
reset2(&i);
printf("%d\n",i); int a = ;
int b = &a;
*(int*)b = ; printf("%d\n",a); int *p;
p=b;//p相当于(int*)b
*p = ;
printf("%d\n",a); /*
int c = 0x22336655;
int *d = &c;
*d = 1;
*/ char aa = ;
printf("%d\n",&aa); return EXIT_SUCCESS;
} void reset(int i){
i = ;
} void reset2(int *p){
*p = ;
}

http://download.****.net/album/detail/1111

枚举

 /*
* meiju.c
*
* Created on: 2017年9月15日
* Author: Administrator
* 137
*/ enum COLOR {
RED,YELLOW,BLUE,GREEN
}; int favorate_color = RED;
void main2(){ puts("---------------------");
//枚举内容默认值从0开始,逐步加1
printf("%d\n",RED);
printf("%d\n",YELLOW);
printf("%d\n",BLUE);
puts("---------------------");
//枚举内容根据前面的那一个值加1
printf("%d\n",RED);
printf("%d\n",YELLOW);
printf("%d\n",BLUE); set_favorate_color(BLUE); printf("favorate_color = %d\n",favorate_color); } void set_favorate_color(int color){
favorate_color = color; }

机房内容

 /*
============================================================================
Name : xu.c
Author : xu
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h> int main(void) {
puts("Hello UPC World"); /* prints Hello UPC World */
return EXIT_SUCCESS; int a = ;//定义变量a,赋值为1
int *p = &a;//定义一个指针,这个指针的内容是变量a的地址
*p = ;//*P是里面的内容,内容是变量a的地址,把1赋值给P*就是修改a的地址 int b = &b;//定义一个b变量,内容是b的地址
*(int*)b = ;//b是变量,(int*)b是把变量b强制转换为地址,*(int*)b是(int*)b地址的内容,也就是改变量b里面的内容 puts("----------------------");
enum COLOR {
red,bule=,yellow,green
};
//枚举的特性
} void reset1(int i)
{
i = ;
}
void reset2(int *i)
{
*i = ;
}
void reset3(int i)
{
*(int*)i = ; }