
c/c++
文章平均质量分 88
-fly
这个作者很懒,什么都没留下…
展开
-
const 指针与指向const的指针
当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理转载 2015-08-26 19:13:55 · 340 阅读 · 0 评论 -
c语言-一些学习c的经典例子
1.计算十进制数n的二进制1的个数//计算十进制数n<=255的二进制1的个数int show1count(unsigned int n){ int m = n==0 ? 0 : 1; while ((n=(n&(n-1)))) { m++; } return m;}int main(int argc, const char *原创 2015-08-29 01:03:10 · 2463 阅读 · 1 评论 -
Android中JNI的使用方法
转载地址:点击打开链接Android中JNI的使用方法首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写,底层包括系统和使用众多的LIiraries都是C/C++编写的。 所以上层Java要调用底层的C/C++转载 2015-09-05 11:16:04 · 453 阅读 · 0 评论 -
关于书上说的“编译的时候分配内存”
一下均为网络上收集的资料: 1、所谓在编译期间分配空间指的是静态分配空间(相对于用new动态申请空间),如全局变量或静态变量(包括一些复杂类型的常量),它们所需要的空间大小可以 明确计算出来,并且不会再改变,因此它们可以直接存放在可执行文件的特定的节里(而且包含初始化的值),程序运行时也是直接将这个节加载到特定的段中,不 必在程序运行期间用额外的代码来产生这些变量。 其实在运行转载 2015-09-03 21:41:37 · 2444 阅读 · 0 评论 -
C++编译器如何对Const常量进行分配存储空间
转载地址:点击打开链接所谓C++编译器,C++编译器是C++中的一个与标准化高度兼容的编译环境,编译器对不同的CPU会进行不同的优化,下面说明C++编译器进行Const常量分配存储空间的说明介绍。Const 是C++中常用的类型修饰符,有某些微妙的应用场合,如果没有搞清本源,则错误在所难免。本篇中将对const进行辨析。溯其本源,究其实质,希望能对大家理解const有所帮助,根转载 2015-09-02 17:08:50 · 2542 阅读 · 0 评论 -
const-static精讲
转载地址:点击打开链接C语言中static的变量:1).static局部变量 a、静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。 b、对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值转载 2015-09-02 21:53:36 · 376 阅读 · 0 评论 -
scanf和gets的几个区别
scanf 和 gets 读取字符串深入了解scanf()/getchar()和gets()等函数scanf与gets函数读取字符串的区别今天看到一段话,大致是说gets比scanf()快,有点吃惊,搜了一下,scanf()和gets的区别大致有着几条:1.scanf() 会忽略行开头的所有空格,并以空格、换行符结束输入; 使用getchar()读取scanf语句执行后,缓冲区转载 2015-09-03 14:56:56 · 586 阅读 · 0 评论 -
C++的const类成员函数-精华版
我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如,[cpp] view plaincopyconst char blank = ‘’; blank = ‘\n’; // 错误 面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据成员转载 2015-09-02 22:13:57 · 331 阅读 · 0 评论 -
函数与动态申请内存
案例分析1void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}程序不能运行。str一直是N转载 2015-09-02 16:21:30 · 461 阅读 · 0 评论 -
结构体和共用体关于内存的分配问题
结构体,共用体都讲究内存对齐,内存对齐的好处是cpu处理器运行的时候处理快点儿,也要看你是32位还是64位了,内存对齐的不好就是白白浪费了一些内存,但是相对而言,内存对齐还是有优势的。内存对齐主要是你把所有变量的内存画出来就一目了然了,注意,当一个字节的字符的时候谈不上对齐问题 结构体和共用体的内存分配是C语言的一个难点,也是面试题中的热点。示例1:点击(此处)转载 2015-09-01 21:09:47 · 1212 阅读 · 0 评论 -
从内存分配看函数参数传递问题
以下程序各有何问题?***********************************************************************************************************************************1.void getmemory(char*p){p=(char *)转载 2015-08-28 17:19:04 · 1333 阅读 · 0 评论 -
c语言-指针实现链表增删改查
通过指针实现链表增删改查。1.首先定义宏以及结构体作为数据结构使用。#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};int n;//为全局变量,本文件模块中各函数均可使用它2.建立动态链表struct stu原创 2015-08-28 23:48:00 · 5189 阅读 · 2 评论 -
指针做形参做局部变量以及内存分配
一级指针做形参:首先一定要明白形参和你传递参数的那个实参是两个不同的变量,即使同名也还依然不同。指针传递的是一个变量或者一个值的地址,但是它本身还是采用值传递的方式。即你不能使它指向另外一块地址,但是你可以改变它指向的空间里存的值。二级指针做形参:二级指针也是传值,但是他指向的地址是个一维指针,所以可以改变二维指针指向的地址空间里的内容也就是要申请空间的一维指针,不能改变二维指针本身的值,转载 2015-08-27 22:37:25 · 425 阅读 · 0 评论 -
C/C++中关于struct内存对齐问题
题:struct st1{ struct st2{ int i; char c; char c;转载 2015-08-27 14:37:38 · 325 阅读 · 0 评论