745 字
4 分钟
【C语言入门】02 - 初识C语言(下)
【C语言入门学习】[2]初识C语言 02
2024.1.10更新
常见操作符 关键字(2)
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
//1.static 修饰局部变量//2.static 修饰全局变量//3.static 修饰函数
extern int g_val;//声明外部变量//static int g_val = 100; //static 修饰全局变量使得全局变量只能在自己所在的源文件内部使用//extern int g_val;报错
//全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性//但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了
//static int Add(int x, int y)//{// return x + y;//}//static 修饰函数,使得函数只能在自己的源文件内部使用,不能在其他源文件内部使用,//本质上:static是将函数的外部链接属性变成内部链接属性(与static修饰全局变量类似)
void test(){ //int a =1; 10个2 static int a = 1; //2到11 , a 出函数体不会销毁,再次进入函数体保持上一次的值 a++; printf("%d\n", a);}
//声明函数extern int Add(int, int);//定义在test01.c中
int main(){ int i = 0; while (i < 10) { test(); i++; } printf("%d\n", g_val); int a = 10; int b = 20; int sum = Add(a, b); printf("sum = %d", sum); return 0;}//static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)define定义常量和宏
//define定义符号#define MAX = 1000
//define定义宏//#define ADD(X,Y) X+Y //printf结果为11//#define ADD(X,Y) (X+Y)错误写法#define ADD(X,Y) ((X)+(Y)) //模式替换#include<stdio.h>
int main(){ printf("%d\n", 4 * ADD(2, 3));//4*2+3 //宏是实现替换的 return 0;}指针
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>//一个内存单元是一个byte:字节//一个byte由8个bit构成,1个bit为一个地址,所以一共8个地址
int main(){ int a = 100; printf("%p\n", &a);//%p用于打印地址; int *pa = &a;//pa是用来存放地址的,在c语言中pa叫指针变量 //* 说明 pa是指针变量 //int 说明pa执行对象是int类型的 char ch = 'w'; char* pc = &ch;
*pa = 20;//*解引用操作,*pa就是通过pa里面的地址,找到a printf("%d\n", sizeof(char*)); printf("%d\n", sizeof(short*)); printf("%d\n", sizeof(int*)); printf("%d\n", sizeof(long*)); printf("%d\n", sizeof(long long*)); printf("%d\n", sizeof(float*)); printf("%d\n", sizeof(double*)); //32位机器,4个字节 //64位机器,8个字节 return 0;}结构体
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
//结构体可以让c语言创建出新的类型出来//创建一个学生struct Stu{ char name[20];//名字 int age; //年龄 char sex[5];//性别 char id[15];//学号};
int main(){ //结构体的初始化 struct Stu s = { "张三",18,"男","20241574" }; printf("名字:%s 年龄:%d 性别:%s 学号:%s\n", s.name, s.age, s.sex, s.id);
//操作符:-> struct Stu* ps = &s; printf("名字:%s 年龄:%d 性别:%s 学号:%s\n", ps->name, ps->age, ps->sex, ps->id); return 0; }总结:
c语言的基本语法初步了解以及补充完成
【C语言入门】02 - 初识C语言(下)
http://www.turinblog.cn/posts/c语言入门02---初识c语言下/