指针,指针的大小为4或8字节,取决于使用系统的地址线,32位为4字节。
指针变量——用来存放地址
取地址——int* p = &a;
int a = 10;
//创建一个空间,此空间有一个地址名,空间存放的值为10
int* p = &a;
//创建一个空间,名字为p,里面存放的为a的地址
*p = 20;
//*p的意义为p空间中存放的地址,其指向的空间的值;此指令意为将20替换上述空间中的值、
结构体:
用来描述一个物品(一种说法)或描述其它;
如描述一本书;
struct Book
{
char name[20];
//描述书的名字
short int price;
//描述书的价格
};
int main()
{
struct Book b1 = { "c语言", "55" };
//完成对书名字和价格的定义
return 0;
}
strcpy(b1.name, "C++");
//更改书的名字;不能使用赋值符号。
选择结构/分支语句:
if——
if(表达式)
执行程序;
或者后面接
else(表达式)
执行的程序;
可以if...else if...else if...else——中间else if可以有很多个,不过不建议用超级多个。
if(18 <= a < 45)//此语句不能表达——a是否为18到45之间的值;执行时,会先执行前半段,即18 <= a;判断是真还是假,真则值为1,假则为0;在将值与45比较;
可以用if(a >= 18 && a < 45);
switch:
switch (a)
{
case 1 : .....;break;
case 2 : .....;break;
case 3 : .....;break;
case n : .....;break;
}
switch里面的a必须为整型;
case后面必须是整型常量的表达式;
case语句后面加break:即case 4:.......;break;//则执行到此便结束switch
若没有switch则:
int main()
{
int a = 3;
switch (a)
{
case 1:printf("1\n");
case 2:printf("2\n");
case 3:printf("3\n");
case 4:printf("4\n");
case 5:printf("5\n");
case 6:printf("6\n");
case 7:printf("7\n");
}
return 0;
}
会打印34567//执行完case 3 后不会停止;
case语句后面可以有if语句,但是不能有continue语句;continue意为跳过本次循环,继续下次循环;case 后面使用的话,会跳到switch再继续执行,然后又会遇到continue,则回到switch.......进入死循环。