//sizeof:计算字节长度,是单目操作符
#include <stdio.h>
int main()
{
int arr[10] = { 0 };
printf("%zu\n", sizeof(arr));//40,计算的是整个数组的大小,
printf("%zu\n", sizeof(arr[0]));//4,单位字节
printf("%zu\n", sizeof(arr) / sizeof(arr[0]));//10,计算数组的元素个数
}
//a++:后置;++a前置
//=:赋值;==判断是否相等
#include <stdio.h>
int main()
{
int a = 10;
int b = a++;//后置++,先使用,后++:b = a; a=a+1;
int b = ++a;//前置++,前++,后使用
a=a+1;b=a;
}
//C程序模板
#include <stdio.h> //头文件include:调用printf;std-标准,i-输入,o-输出
int main() //主函数main:程序入口,有且仅有一个
{
int a; int b; //定义数据类型
printf("请输入a与b的值"); //printf:打印数据
scanf("%d %d", &a); //scanf:输入数据
int sum = a + b;
printf("a+b=%d", sum);
return 0; //运行结束,返回
}
//typedef:类型重命名
#include <stdio.h>
typedef unsigned int min;//unsigned int <=> uint
int main()
{
unsigned int num = 0;
min num1 = 1;
return 0;
}
//static:静态,用于修饰变量和函数
//修饰局部变量=扩大生命周期(等同于全局变量);
// 修饰全局变量/函数=外部链接属性变成内部链接属性(等同于只能在该源文件内使用)
#include <stdio.h>
void test()
{
static int a = 1;//1. static修饰局部变量的时候,局部变量出了作用域,不被销毁的。
//本质上,static修饰局部变量的时候,改变了变量的存储位置的。
a++;
printf("%d ", a);
}
int main()
{
int i = 0;
while (i < 5)
{
test();
i++;
printf("%d \n",i);
}
return 0;
}
//define: 定义常量和宏
#include <stdio.h>
#define MAX 1000 //define定义标识符常量
#define ADD(x,y) ((x)+(y))
int main()
{
int a = 10;
int b = 30;
int sum = ADD(a, b);
printf("%d\n", sum);
return 0;
}
//指针
#include <stdio.h>
int main()
{
int a = 10;//向内存申请4个字节,存储10
// &a;//取地址操作符
//printf("%p\n", &a);//ex0012ff40
int* p = &a; // *说明p就是指针变量;int 说明p指向的对象为int类型
*p = 20; //解引用操作符,意思就是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象
printf("%d\n", a); //a=20
printf("%zu\n", sizeof(int*)); //指针大小:32位为4字节;64位为8字节
return 0;
}
//struct结构体就是通过自定义类型,从而把一些单一类型组合在一起
#include <stdio.h>
struct student //结构名
{
char name[20]; //结构体成员
int age;
char sex[10];
char num[20];
};
void pin(struct student*a2)
{
printf("%s %d %s %s\n", (*a2).name, (*a2).age, (*a2).sex, (*a2).num);//一
//结构体指针变量->成员名
printf("%s %d %s %s \n", a2->name, a2->age,a2->sex,a2->num);//二
}
int main()
{
struct student a1 = {"liming",18,"male","2024100666" };
struct student a2 = { "xiaohong",17,"female","2024100656" };
//结构体对象.成员名;注意要一一对应结构体成员
printf("%s %d %s %s\n", a1.name, a1.age, a1.sex, a1.num);//三
pin(&a2);
return 0;
}
认识C语言1.3
于 2024-01-09 17:10:43 首次发布
本文介绍了C语言中的sizeof运算符、基本数据类型、运算符优先级、指针、结构体、静态变量、常量和宏的使用,通过实例展示了这些概念在程序中的应用。
摘要由CSDN通过智能技术生成