C语言
我不想火
任重而道远
展开
-
C语言字符串函数sizeof、strlen、strcpy、strcat、strcmp、strchr、strstr、sprintf
在C语言中没有C++或Java中的string这个类型来表示字符串,在C中字符串实际上是使用\0结尾的一维字符数组。下面初始化创建了一个helloworld字符串,由于在数组的末尾存储了空字符,所以字符数组的大小比单词helloworld的字符数多一个。char str[8] ={‘h’,‘e’,‘l’,‘l’,‘o’,‘w’,‘o’,‘r’,‘l’,‘d’,\0’};或 char str[] = “helloworld”;字符在计算机中都是以ASCII值的形式来存储。以char str[]="h原创 2021-07-23 21:23:31 · 740 阅读 · 0 评论 -
判断系统是大端字节序还是小端字节序
两种存储数据的方式:小端字节序LSB 和大端字节序MSB。**小端字节序:**低位字节在前,高位字节在后,绝大部分处理器和系统都是小端字节序。**大端字节序:**高位字节在前,低位字节在后,网络通信采用大端字节序。如下图所示:实现判断的C代码如下:#include <stdio.h>#define LSB 1 //利用宏定义更加清晰#define MSB 0int is_lsb(void){ union //联合里面的成员是使用同一存储空间原创 2021-07-23 17:34:49 · 535 阅读 · 0 评论 -
C程序内存布局
系统空间:每个程序运行独立4GB虚拟内存空间参数区:命令行传递的参数,int main(int argc,char **argv)栈区:局部变量(自动分配,{}内有效,离开{}失效)堆区:malloc分配的内存(自己管理,用完free,否则泄露).bss:未初始化的全局变量或static变量.data:已初始化的全局变量或static变量.rodata:const,#define,char *ptr="I am a beauty"等定义的数据常量文本段:编译出来的可执行文件的二进制代码。.原创 2021-01-23 15:14:42 · 197 阅读 · 0 评论 -
在C语言中sizeof和strlen的区别
sizeof是求某个存储空间的大小,而strlen是求字符串的长度,其中字符串以\0结尾,但strlen长度不包含\0。例如: char *ptr=“hello”; char arr[10]="hello";1、对于strlen而言,对ptr和arr求长度的话值是一样的,都是hello字符串的长度为5。(strlen(ptr)=strlen(arr))2、对于sizeof(ptr),因为ptr是指针,指针是用来存储地址的,地址是多少字节这是系统相关的。如果系统是32位则地址是32位,...原创 2021-01-16 11:18:53 · 550 阅读 · 0 评论 -
C语言学习笔记(数据类型与表达式、函数、字符串函数和文件函数)
2 C语言的学习2.1学习内容2.1.1数据类型和表达式1)ELF格式:linux下由c程序编译生成的可执行程序的格式。2)小端模式:高字节数据存在高地址,低字节数据存在低地址。大端模式:高字节数据存在低地址,低字节数据存在高地址。(大小端是以字节为单位进行数据存储的)3)c语言的可移植性(交叉编译)4)volatite:确保本条指令不会因为编译器的优化而省略。5)sizeof:一个操作符,返回一个对象或类型所占的内存字节数, eg: sizeof(int);//值为4,sizeof(2+3.原创 2020-12-23 18:16:59 · 220 阅读 · 0 评论 -
一款简单易用的C语言集成开发软件C-Free
1、点击下方链接完成下载:[cfree](http://www.programarts.com/cfree_en/download.htm)2、接下来双击安装包3、均点击next(路径可以进行更改)4、最后点击安装即可5、打开cfree新建工程6、开始编译...原创 2020-10-31 13:59:50 · 435 阅读 · 0 评论