转载自http://blog.csdn.net/chengonghao/article/details/51674166 例子举的特别好 很多文章大概都有像这样的结论: 1. 数据项只能存储在地址是数据项大小的整数倍的内存位置上; 2. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 3. ...
分类:
编程语言 时间:
2017-09-26 23:45:57
阅读次数:
563
//截取字符串 ch 的 st~en 这一段子串返回子串的首地址 //注意用完需要根据需要最后free()掉 char* substring(char* ch,int st,int en) { int length = en - st + 1; char* pch=ch; char* subch=( ...
分类:
其他好文 时间:
2017-09-23 21:24:22
阅读次数:
172
首先a是一个数组名,当看到这个a与&a时,一般我们的理解都是这个数组的首地址。没错,如果加上打印的话,确实两个值是一样的。 不过&a是整个数组的首地址,a则是数组首元素的地址,虽然值一样,但是意义却不相同。 在此之前有必要先看下c程序在内存中的分布图。 示例代码: #include <stdio.h ...
分类:
其他好文 时间:
2017-09-20 23:10:01
阅读次数:
268
if(*image_in+j*+xsize+i)>=thresh)//xsize图像宽度 image_out是首地址,加上j*行宽就是目标行的首地址,再加上i,就是在此行中的第i个像素,所以整个就是通过循环把整个image_out遍历一边。 ...
分类:
编程语言 时间:
2017-09-18 19:38:34
阅读次数:
181
今天做2级题时遇见一个小问题: 当时代码我的修改如下: 运行成功以后没问题,可是第18行给我判错。 一直以来关于数组的问题,我一直以为 array[]和array没啥区别,但是查了相关资料: array代表这个数字,它相当于一个指针,指向第一个元素(&a[0]),即指向数组的首地址,数组中的其他元素 ...
分类:
编程语言 时间:
2017-09-17 13:51:09
阅读次数:
270
1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数组的首地址。&a[m][n]就是第m行n列元素的地址 (3)&a[0]是第0行的首地址,当然&a[n]就是第 ...
分类:
编程语言 时间:
2017-09-17 11:46:45
阅读次数:
266
C++中的string类1)是什么:专门的字符串操作的一个类,非常强大,字符串CString,QString2)跟char *的区别Char *是指向字符数组首地址的指针,然后我们系统提供一个string.h,这个头文件声明了很所字符串操作函数,strlen、strcat、strcmp、strcpy ...
分类:
编程语言 时间:
2017-09-15 10:14:19
阅读次数:
196
参考: http://www.weixueyuan.net/view/6346.html 总结: 在每一个成员函数中都包含一个常量指针,我们称其为this指针,该指针指向调用本函数的对象,其值为该对象的首地址。 this指针出现在static成员函数中,编译出错。this指针只能用于非静态成员函数内 ...
分类:
编程语言 时间:
2017-09-11 12:16:20
阅读次数:
153
vector代替数组 1、声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。 2、用vector代替二维数组.其实只要声明一个一维数组向量即可,而一个数组的名字其实代表的是它的首地址,所以只要声明一个地址的向 ...
分类:
编程语言 时间:
2017-09-10 01:05:26
阅读次数:
296
a代表二维数组地址; (1)a+n表示第n行首地址; (2)&a[0][0]既可以表示数组0行0列,同样也表示二维数组首地址,&a[n][m]表示n行m列元素地址; (3)&a[0]表示0行首地址,当然&a[n]表示第n行首地址; (4)a[0]+n表示第0行第n列元素地址; (5)*(*(a+n)... ...
分类:
编程语言 时间:
2017-09-06 00:24:22
阅读次数:
365