![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
yongheng_1999
目前:深度学习(智慧城市)
经历:嵌入式(Cortex-M+FPGA)
展开
-
关于二维数组和一维指针数组的区别
二维数组下面的代码先定义了一个整数二维数组,board[3][3] int board[3][3]={ {'1','2','3'}, {'4','5','6'}, {'7','8','9'} }; printf("*board:%9d\n",*原创 2016-05-24 23:26:19 · 1509 阅读 · 0 评论 -
四个拷贝函数的分析与实现
概述: 1:strncpy和strncpy主要是用于字符串的拷贝。2:而memcpy()和memmove()则适用于所有的数据类型。3: memcpy()和memmove()这两者的区别在于内存重叠的处理。4:本文给出的代码都是基于函数的功能所写的代码,不一定就是官方的实现代码。但是实现的功能是一样的。展开: /********************************************原创 2016-10-07 11:40:49 · 381 阅读 · 0 评论 -
c++中拷贝构造函数的参数类型必须是引用
转自:http://3lian.com/edu/2013/07-18/82007.html如果拷贝构造函数中的参数不是一个引用,即形如CClass(const CClass c_class),那么就相当于采用了传值的方式(pass-by-value),而传值的方式会调用该类的拷贝构造函数,从而造成无穷递归地调用拷贝构 造函数。因此拷贝构造函数的参数必须是一个引用在C++中, 构造函数,拷贝构造函数,转载 2016-09-20 23:28:38 · 1793 阅读 · 0 评论 -
为什么不能用二级指针直接指向二维数组
先上代码:int a[2][3]={1,2,3,4,5,6};//2行3列的int型数组int **pp=a;//编译出错,不能用二级指针直接指向二维数组int (*p)[3]=a;//对,p是指向一维数组的指针,可以指向二维数组int *p1=a[0];//可以,p1也是一维指针,可以指向二维数组可以将上述的代码自己上机试试。按理说一维数组对应一维指针,即类似于int a[3]; int *p=a原创 2016-10-09 11:37:17 · 13756 阅读 · 3 评论 -
printf()的一些小问题
c编程的printf()函数看起来比较简单,但是还是有很多的小陷阱值得注意的。 最近用到了printf(),并且发现了自己以前没有遇到的小问题,为此,分享下。 1、char a=198;//明显超过了127的限制了printf("%d",a);//如果修饰符选为%d时候是怎么输出的呢 如上,最后显示的是-58。原因是char 型变量a的内存地址里面存放着198即1100 0110,见原创 2016-04-21 16:57:58 · 736 阅读 · 0 评论 -
指向指针的指针申请动态内存
在《高质量c编程指南》中,提到了 如果函数的参数是一个指针,那么别指望它能申请动态内存。 代码如下:#include<stdio.h>#include<stdlib.h>void GetMemory(char *p,int num);int main(){ char* stu=NULL; GetMemory(stu,100); printf("%d\n",stu);原创 2016-05-25 17:59:09 · 5759 阅读 · 1 评论 -
关于动态申请内存的动机
在c语言中,对于malloc();realloc();calloc();这些动态申请内存的函数,想必大家都不陌生了。但是为什么要动态申请呢。什么情况下需要申请内存呢?? 我觉得可能有下面几个原因,【当然纯属个人总结。不对或者不全面欢迎指正】。 关于申请内存的动机: 1、使得指针有具体的对象,并且该对象的内容是允许修改的。这一层面的功能是可以用数组来代替的。即下面的这个语句:char *str=(原创 2016-08-09 20:48:37 · 534 阅读 · 0 评论 -
裘宗燕:C/C++ 语言中的表达式求值
转载自http://bbs.csdn.net/topics/370153775转载 2016-08-15 15:16:56 · 371 阅读 · 0 评论 -
几个字符串函数的实现
上一篇关于内存拷贝的博客讲了strcpy等字符串的处理函数的实现。这一篇,写一写剩下几个关于字符串的函数。1: strcat函数 原型:char *strcat(char *dest, const char *src);定义 1:把src所指字符串添加到dest结尾处(覆盖dest结尾处的’\0’)。 2:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容原创 2016-10-08 17:44:13 · 314 阅读 · 0 评论