扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文主要简单介绍各种操作符、关键字、宏、指针和结构体的定义和使用。
操作符 单目操作符操作符 | 作用 | 使用方法 |
---|---|---|
! | 逻辑反操作 | 例如:!flag 如果flag为真,则 !flag 为假 |
sizeof | 操作数的类型长度(以字节为单位) | 例如:int a = 1; sizeof(a)=4 |
++ | 前置、后置++ | 例如:a = 10;当b = a++; a = 11,b = 10;当b = ++a; a = 11,b = 11 |
- - | 前置、后置- - | 方法同++ |
exp1?exp2:exp3
#define ADD(x,y) ((x)+(y))
#includeint main()
{int sum = 10*ADD(2, 3);
printf("sum = %d\n", sum);
return 0;
}
结果为sum = 50,注意当((x)+(y))改为x+y,结果为23,与预期的结果不符,因此括号不可省略。
指针在讲指针前我首先需要了解内存。一块空间可以划分为很多个内存单元。
每一个内存单元为一个字节。
每一个内存单元都需要编号,,通过这些编号计算机可以找到对应的内存单元,这些编号叫做地址,也叫指针,所以指针就是地址。
我们知道 int 存放空间是4个字节即4个内存单元。我们假设 int a = 10;那a的地址是哪一个字节呢?实际在a的地址是4个字节中的第一个字节。
#includeint main()
{int a = 10;
int* pa = &a;
*pa = 20;
printf("%d", a);
}
我们用pa来存放指针,pa称为指针变量,其类型是int* 类型;通过使用 * 解引用操作符访问pa 修改a的值,因此上述结果a最终输出20。
指针变量的大小对于一个复杂对象无法简单用单个数据类型进行描述,因此C语言引入结构体概念。
结构体的使用#includestruct Book//定义结构体
{char name[20];//书名用char类型
int price;//价格
};
int main()
{struct Book b1 = {"算法与数据结构",60 };
//结构体变量.结构体成员名
printf("书名:《%s》 定价:%d 元\n", b1.name, b1.price);
}
指针运用结构体由于我们已经学过指针,我们不妨运用于一下指针。
#includestruct Book//定义结构体
{char name[20];//书名用char类型
int price;//价格
};
void print(struct Book* pa)
{printf("书名:《%s》 定价:%d 元\n", (*pa).name, (*pa).price);
//printf("书名:《%s》 定价:%d 元\n", pa->name, pa->price);效果一样
}
int main()
{struct Book b1 = {"算法与数据结构",60 };
print(&b1);
}
总结本文旨在回顾C语言的一些简单概念,虽然简单但是整理内容也花费我不少时间,希望对大家有所帮助!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流