C语言学习笔记

这篇博客详细介绍了C语言中的结构体用法,包括定义、数组、指针和宏定义。此外,还讲解了C语言中的条件判断、三目运算符、字符串处理函数、内存分区以及文件操作,如fopen、fclose、fread和fwrite等,并提到了指针在函数参数传递中的作用。
摘要由CSDN通过智能技术生成

结构体:

1.定义结构体类型的变量:
(1):声明类型和定义变量分离:
eg:struct Student student1,student2;

2.在声明类型的同时定义变量:
struct 结构体名(Student )
{
   成员列表
}变量名列表;

3.结构体数组:数组的每一个元素存储的都是该结构体类型的数据。
struct 结构体名(Student )
{
   成员列表
}数组名[数组长度];

4.结构体指针:指向结构体变量的指针,其内存单元的值为该结构体变量的起始地址。
eg: struct Student *p;

5.结构体的宏定义:
eg:
typedef struct
{
   成员列表
}Date;
Date为新的结构体名字;

struct 结构体名(Student )
{
   成员列表
};
typedef Student Date;

5.typedef和#define的区别:typedef利于程序移植。
typedef是在编译阶段处理的;而#define只是做简单的字符串替换。
eg:  typedef int Count;
         Count a,b,c;

         #define  int COunt;

2.在C语言中:
while(a)/if(a)--->while/if(a!=0)
while(!a)/if(!a)--->while/if(a==0)
if(j%2)cantinue;--->表示j%2!=0时执行continue。

3.三目运算符:表达式1? 表达式2: 表达式3
max=(a>b)?a:b--->如a>b为真,则把a赋予max,否则把b 赋予max。
特点:1.条件运算符?和:是一对运算符,不能分开单独使用。
2.条件运算符的结合方向是自右至左。
3.条件表达式嵌套
eg:a>b?a:c>d?c:d--->a>b?a:(c>d?c:d)

4.在C语言中:所有非零值均为真,只有0值被认为是假。

5.从语言中,/--->整数相除,只取整数部分,不会四舍五入
                  %--->整数相除,取余数部分

6.C语言五大内存分区:
1.栈区(stack):由编译器自动分配,用来存放函数的参数值,局部变量的值;
2.堆区(heap):由程序员分配释放,若程序员忘记释放,程序结束后,由系统自动释放;
3.全局变量,静态变量区:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4.文字常量区:常量字符串放在这里,程序结束后由系统释放;
5.程序代码区(code):存放函数体的二进制代码;

7.C语言中是没有字符串类型的,字符串是存放在字符型数组中的。
字符串是存放在一维数组中的,以字符'\0'作为结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值