C
zxa1334
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在C语言中以及在C++中static的作用
在C语言中static的作用如下第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存...转载 2018-03-30 20:48:43 · 186 阅读 · 0 评论 -
C++读书笔记—const 与define 定义常量时的区别
1、define只是用来做文本宏替换,define常量的生命周期止于编译期,它存在于程序的代码段,在实际程序中只是一个常数; 而const存在于程序的数据段,并在堆栈中分配了空间2、define定义的常量在程序运行时不可被调用、传递,因为define没有给名字分配空间,仅仅只是给一个常数起了一个名字; 而const常量在程序中确确实实存在,所以在程序运行时可以被调用、传递。3...原创 2018-06-24 09:31:49 · 500 阅读 · 0 评论 -
C++读书笔记—数组元素个数的确定
问题:请读者编写一个表达式确定一个数组元素的个数,目前只知道这个数组名为a,它的数据类型等其他信息都在一个黑匣子中定义,无从得知答:我们只需把问题转换为求数组元素a[0]占用空间的大小上,a[0]占用的空间大小很好确定,即sizeof(a[0]),这就是sizeof(int)的等价条件,所有通过数组名确定元素个数的表达式如下: int len = sizeof(a)/sizeof(a[0])...原创 2018-06-24 15:54:09 · 8815 阅读 · 0 评论 -
实现数组的倒序问题
//将一个字符数组倒过来asdf变为 fdsa#include <iostream>#include <cstring>using namespace std;void dao_order(char *n){ char tmp[20] = {0}; cout << strlen(n) << endl; int i;...原创 2018-07-18 20:39:24 · 2494 阅读 · 0 评论 -
用C/C++进行随机分组
/************************要求将下列名单随机分组:分组要求,随机选择4个人组成一组输出结果:4个人一行进行输出,每行代表一个组例如:许新华 王玉恒 陶小康 王娇娇盛 开 郑 丹 陈 芳 张 龙陈梦玉 祝秋培 吴赟鹏 胡光兴曾从威 边金鹏 陈逸伦 王 琦刘加封 徐煜清 姚 笛 孔海宇孙凌霄 王 鹏 王 虎 ...原创 2018-07-18 21:18:12 · 4622 阅读 · 0 评论 -
return ,break,continue三者在循环体中的区别
1、return 是结束所有的循环,直接终结程序的运行2、break 是结束本层循环,但外面的一层循环没有结束3、continue 是既未结束本层循环,又未结束外层循环,仅仅是忽略本次循环注:注意本层与本次的区别...原创 2018-07-19 08:29:25 · 1481 阅读 · 0 评论 -
编写一个函数。求一个数的二进制表示中的1位的个数
/********************************编写一个函数。求一个数的二进制表示中的1位的个数,例如9的二进制表示位1001,1位的个数为2*********************************/#include <iostream>using namespace std;int main(){ int n; int ...原创 2018-07-21 08:28:28 · 1751 阅读 · 0 评论 -
水仙花数的处理
1、题目要求:春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 #include <stdio.h>int main(){ int a,b,c; int m,n; int i;...原创 2018-07-30 13:58:54 · 220 阅读 · 0 评论 -
详解sizeof在自定义函数中不能正常工作
1、在main函数中,sizeof是可以正常工作的,比如:int main(){ int n[5]; printf("input: \n"); int i ; for(i = 0; i < 5; i++) { scanf("%d",n + i); } int len = sizeof(n)/sizeof(n[0]); printf("%d\n",len); re...原创 2018-08-04 15:43:48 · 3129 阅读 · 0 评论 -
C++读书笔记—使用指针技术实现内存块数据的移动
/***************************************使用指针技术实现内存块数据的移动:要求从键盘输入一个字符存放到某个内存空间中,然后把输入的字符串最后一个字符调整到字符首部,其他字符以此向后移输出。比如输入“asdfgh”,输出"hasdfg"实现方法:(1)定义指针,分配内存空间(2)输出字符串到指定的空间(3)处理字符串(4)输出字符串(5)释放分配的内存空间**...原创 2018-06-24 09:14:50 · 1288 阅读 · 0 评论 -
C++读书笔记—new/delete和malloc/free的比较
区别:1、malloc与free是C/C++语言的标准库函数,new/delete是C++的运算符2、new运算符根据数据的类型,自动决定其大小,不使用sizeof运算符,而malloc要指定分配内存空间的大小3、new 返回指向此类型的指针,不用进行强制指针类型转换。malloc返回指向void* 类型的指针,需要进行强制类型转换4、new是一个分配内存并进行初始化的过程,例如,char *p ...原创 2018-06-23 22:08:51 · 248 阅读 · 0 评论 -
C++读书笔记—malloc()函数的注意点及使用示例
1、malloc()函数的头文件是stdlib.h,其函数声明如下: void* malloc(size_t size); 其中参数size_t size表示动态内存分配空间的大小,以字节为单位。 size_t 是typedef重定义的类型,重定义这样数据类型的作用就是让使用者一目了然,指示使用者这个参数表示一个长度,在 size后加上t,表示是整型相...原创 2018-06-23 17:35:26 · 32512 阅读 · 2 评论 -
a++,++a,a+1三者的区别
a++:只改变a的值++a:既改变a的值,又改变整体的值a+1:既改变a的值,又改变整体的值区别:前二者中的a只能为变量,而第三者则既可为变量,又可为常量,特别当a代表地址时...原创 2018-03-27 17:00:07 · 2949 阅读 · 1 评论 -
在C语言中,sleep函数与usleep函数的区别
sleep():功能:挂起一段时间sleep(2);表示挂起2susleep();功能:将进程挂起一段时间usleep(200);表示挂起200微秒原创 2018-04-12 17:16:52 · 13925 阅读 · 1 评论 -
在C语言中,int ,char 等几种数据类型所占用的空间
在32位处理器中,int a; sizeof(a)=4;char a; sizeof(a)=1;float a; sizeof(a)=4;double a; sizeof(a)=8;long a; sizeof(a)=4;long int a; sizeof(a)=4;short a; sizeof(a)=2;在用户自己构造的数据类型数组,结构体,联合体中,数组:int a[]={20,2,1...原创 2018-04-12 21:14:34 · 12501 阅读 · 0 评论 -
字节对齐问题
为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字节边界上,即起始地址能够被4整除。变量的对齐规则如下(32位系统):TypeAlignmentchar在字节边界上对齐short (16-bit)在双字节边界上对齐int and long (32-bit)在4字节边界上对齐float在4字节边界上对齐dou...转载 2018-04-12 21:16:29 · 205 阅读 · 0 评论 -
pipe函数有关阻塞问题
注:pipe函数创建无名管道1、pipe函数读阻塞#include <stdio.h>#include <unistd.h>int main(){ int fd[2]; int ret; char read_buf[128] = {0}; char write_buf[] = "hello linux\n"; ret = pipe(fd); if(ret < 0) {...原创 2018-04-23 10:23:36 · 5213 阅读 · 0 评论 -
用数据库写通讯录
#include <stdio.h>#include <sqlite3.h>#include <stdlib.h>#define OK 1#define ERROR 0//#define int Status/*Status insert(void); //插入Status update(void); //修改Status delete(void); //删除S...原创 2018-04-23 10:33:18 · 992 阅读 · 0 评论 -
C++读书笔记—指针变量的定义与初始化
在了解指针变量与初始化之前,首先要弄清楚一点:什么是指针?1、指针的内容实际上是一个地址,我们只要给指针赋值一个地址,它将会指向这个地址表示的内存空间,这也是指针的作用,我们要访问某个地址时,这个指针必须合法,否则容易出现系统崩溃,从而出现段错误。比如一个指针指向11楼的某个房间,但是该楼层只有10层,若贸然进去,则会出现严重后果2、指针变量:就是指向某个内存地址的变量 char *p_ch...原创 2018-06-23 16:39:14 · 4364 阅读 · 0 评论 -
C++读书笔记—void 和void*的区别
1、函数的返回值如果是 void 类型的,则表示这个函数的执行结果是没有返回值的;2、函数的返回值如果是 void* 类型的,则表示返回一个内存地址,这个内存空间存放的数据类型是void类型的,即无类型的,也可以说是万能型的3、在实际开发中,void* 使用时最终都要强制转换成某种明确的数据类型...原创 2018-06-23 16:45:15 · 1256 阅读 · 0 评论 -
C/C++宏定义详解
转载地址:https://www.cnblogs.com/fnlingnzb-learner/p/6903966.htmlC++宏定义详解一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得...转载 2018-08-09 14:36:04 · 603 阅读 · 0 评论
分享