C
Raven_csdn
分享,记录
展开
-
C/C++中#include 有没有.h的区别
1、.h的是标准C的头文件,没有.h的是标准C++的头文件,两种都是头文件。造成这两种形式不同的原因,是C++的发展历史决定的,刚才正好有别的人也问这个问题,这里我再回答一下(注意vs2008和vs2005对标准C++的支持是一样的):以iostream和stdio.h为例,iostream是C++的库,stdio.h是标准C的库。2、新的C++标准摒弃了.h形式的头文件,所以在vs2005...转载 2019-02-22 10:06:19 · 1418 阅读 · 0 评论 -
C语言中常见的库函数实现
#include<stdlib.h>#include<stdio.h>#include<string.h>#include<assert.h>//设置void * mymemset(void * src, char c, int n) { assert(src != NULL); char * p = (char*)src; w...原创 2019-03-19 22:34:28 · 620 阅读 · 0 评论 -
C语言中内存四区,程序画图举例
栈区(临时区):由编译器自动分配释放,存放函数的参数值、局部变量的值等。堆区:一般有程序员进行分配和释放,malloc、new分配的内存在堆区(动态申请与释放),若程序员不释放,程序结束时可能有操作气功回收。全局区(静态区):全局变量和静态变量的存储是放在一块的,初始化的全局变量和未初始化的静态变量在相邻的另一块儿区域,该区域在程序结束后有操作系统释放,字符串常量和其它常量的存储在常量区,...原创 2019-02-26 23:24:30 · 995 阅读 · 0 评论 -
typedef和#define的用法与区别
typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程...转载 2019-02-26 16:19:08 · 168 阅读 · 0 评论 -
C结构体定义、对齐,释放内存以及释放内存时,指针所指向的内存空间的情况。
结构体定义://方法一:对结构体重命名 常用typedef struct _Person{ int age; char name[30]; int grade;}Person; //方法二:struct Person{ int age; char name[30]; int grade;}p1,p2;//方法三:stru...原创 2019-02-26 15:54:42 · 2215 阅读 · 0 评论 -
C语言野指针、内存泄漏、内存溢出的概念
野指针:释放指针所指向的内存空间,和指针无关//在堆区分配100*sizeof(char)个字节的内存;char *p=(char *)malloc(100*sizeof(char));//在用完后释放内存free(p);//这时候指针p所指向的存空间被释放。//但是这个时候p指针的值没有发生变化,然后所指的内存空间已经没有了意义。//指针p成为了野指针。//解决办法很简单如...原创 2019-02-26 10:43:16 · 1186 阅读 · 2 评论 -
C语言中的指针,指针存在的意义
1、指针也是一种变量,占用空间内存,用来保存内存地址。所以无论指向何种数据类型的指针,编译器都给指针类型分配固定的内存空间如果说是32位那就都分配4个字节,如果是64位那就都分配8个字节。//32位计算机typedef struct _Person{ char name[30]; int age;}Person;char * a;char * b[100];int...原创 2019-02-26 10:16:16 · 6570 阅读 · 1 评论 -
C语言中的字符串
C语言中没有字符串这种类型,只能通过字符数组来模拟字符串C风格的字符串是以零结尾的字符串char str1[100]={'a','b','c'};//指定了长度,那么剩下的部分补充为0//不指定长度char str2[]={'a','b','c'};char str3[]={'e','f','g','\0'};//通过字符串初始化字符数组 并且追加】、0char st...原创 2019-02-22 17:05:58 · 241 阅读 · 0 评论 -
C/C++数组首元素的地址和数组地址的区别
1、首先数组首元素的地址和数组地址的值是相等的。2、数组首元素的地址和数组地址是两个不同的概念。3、举例如下:#include<stdio.h>void main() { int a[10] = {}; printf("%d\n", a); printf("%d\n", a+1); //与前面一个相差4 printf("%d\n", &a); ...原创 2019-02-22 11:19:57 · 13129 阅读 · 2 评论 -
C/C++ string,char * p
#include<string>#include<cstdlib>#include<cstdio>#include<iostream>using namespace std;int main() { char * cstr = (char *)malloc(100); scanf("%s", cstr); //在...原创 2019-04-02 17:32:01 · 521 阅读 · 0 评论