栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言概述(三)-- 宏定义、指针、结构体

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言概述(三)-- 宏定义、指针、结构体

  1. 宏定义
  2. 指针
  3. 结构体

1、宏定义
     #define
     每个参数加上括号,结果也加上括号
     否则,可能会因为运算的优先级问题导致结果错误

#define ADD(a,b) ((a)+(b))
#define MUL(a,b) ((a)*(b))
void main()
{
	//如果宏定义去掉括号运算结果就可能会出错
	int add = ADD(1, 2) * ADD(3, 4);
	int mul = MUL(1 + 2, 3 + 4);
	printf("%dn", add); //21
	printf("%dn", mul); //21
	return 0;
}

2、指针
     内存: 
     内存是电脑上特别重要的存储器,计算机中所有的程序都是在内存中运行的;
     为了有效的使用内存,把内存划分成为一个个小的内存单元,每个单元为1个字节;
     为每个内存单元进行编号,这些编号称之为内存单元的地址。
    
     每个变量都会有其地址:
     举例:

void main()
{
	int i = 1; //int变量有4个字节,指针只存储首地址
	int* p = &i; //p指针变量 = 指针数据;存储地址的变量

	printf("%pn", p);
	printf("%pn", &i);

	*p = 20;
	printf("%dn", i); //2

	//指针变量大小都为4个字节(在32位平台中)
	printf("%dn", sizeof(int*));
	printf("%dn", sizeof(float*));
	printf("%dn", sizeof(char*));
	printf("%dn", sizeof(long*));
	printf("%dn", sizeof(short*));
	printf("%dn", sizeof(double*));
	return 0;
}

    指针大小:
        32位平台为4字节
        64位平台为8字节

3、结构体
     C语言的类型除了前面提到的基本数据类型外,还有结构体;
     结构体是的C语言有能力描述复杂类型
    
     举例:

struct Student //定义了一个学生结构体
{
    char name[10];
    int age;
};

void main()
{
	//第一种方式
	struct Student stu1 = { "hello", 20 };
	printf("name = %s, age = %dn", stu1.name, stu1.age);

	//第二种方式
	struct Student stu2;
	stu2.age = 21;
	strcpy(stu2.name, "world");
	printf("name = %s, age = %dn", stu2.name, stu2.age);
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457200.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号