-
数组名是一个指向数组首元素的指针
查看全部 -
#include <stdio.h>
struct Student{
int math;
int english;
};
int main(){
struct Student stu[50];
stu[0].math=95;
stu[0].english=100;
printf("math=%d,english=%d",stu[0].math,stu[0].english);
return 0;
}
查看全部 -
数据类型转化查看全部 -
%d 是一个占位符,表示这个位置实际上有一个数字printf("a:%d,b:%d",a,b);
scanf("%d, %d", &a, &b);(输入的两个值用逗号隔开)
查看全部 -
声明一个变量的时候,会随机一个默认值(可能是非法的),所以我们一般给变量附上一个默认值
查看全部 -
1这个 main 函数是程序的入口,一个程序里,有且只有一个 main 函数。程序从 main 函数开始执行,到 main 函数结束而终止。
2
我们来看看这个函数里其他的部分。
首先是 (int argc,char **argv) ,这是一个参数列表。我们可以看到,这里有两个参数,第一个参数argc表示参数个数,第二个参数argv是参数组,两个参数一起表达了这个程序的启动参数。
另外一个是return语句,我们可以看到 main 函数有一个返回值,这个返回表示程序的执行结果。我们这个 Hello Wolrd 程序里面,返回的是 0。0 表示程序执行成功,没有出现问题。如果这里返回的是非 0 ,那么表示程序执行出现问题。
查看全部 -

函数的参数值有两种类型,一种是直接的值拷贝,一种是指针指向地址相同。
1. 当参数是int、char等简单类型或者是struct类型时,在执行函数体之前,函数参数先进行声明后进行参数值拷贝。
2. 当参数是指针类型或者数组类型的时候,函数参数先声明指针变量,并把指针地址指向和传参指针相同的地址。以截图为例,执行函数体之前,p和q两个指针指向变量a的地址,在执行函数时q改变指向变量b的地址,但是p指向的地址没有发生变化,所以打印出来还是99。
查看全部 -
break: 直接退出当前循环,后面循环不再执行;
continue:结束本次循环,可以用来跳过某次循环,后面循环还会执行;
查看全部 -
do{}while()在宏定义经常使用到,因为对于宏体带有括号、分号的时候,进行宏替换可能会有意想不到的问题,导致程序未必能像预期一样执行。用do{}while(0)进行一层包裹,就能让宏定义无论在什么样的语法环境都能如预期一样执行。
查看全部 -

switch()括号里面只能是int类型,虽然也可以用char、short int类型,但是都会被隐式转换为int类型再进行case比较。case 也只能是int、char类型。
查看全部 -
include一词在英文中表示的是包括,包含的意思
意味着我们的这段程序想要包含一个源文件以外的东西
在这里,我们其实想要引入的文件叫做stdio.h
stdio可以拆分成两个部分,即std和io
std是standard的简写,标准的意思
io是inputandoutput的简写,是输入输出的意思
那么stdio就是标准输入输出。
查看全部 -
数组名是一个指向数组首元素的常量指针
*arr指针变量指向数组的第一个元素的值
查看全部 -

枚举值只支持整数,其实也可以支持char字符类型,大概是因为char可以转为int。(这里用char会被隐式转为int,打印出来的结果是65,跟'A'比较为1,因为是转成统一类型再进行比较的)
查看全部 -
sizeof(数据类型)//计算函数占的字节查看全部
-
const 定义一个常量查看全部
举报