指针
C和C++的指针
学无止境12138
热爱编程,希望可以成为自由C++开发工程师。
展开
-
我们不一样之数组和指针的差别
数组:数组是用于储存多个相同类型数据的集合。指针:指针是一个变量,但是它和普通变量不一样,它存放的是其它变量在内存中的地址。1. 赋值数组:只能一个一个元素的赋值或拷贝指针:指针变量可以相互赋值2. 表示范围数组有效范围就是其空间的范围,数组名使用下表引用元素,不能指向别的数组。指针可以指向任何地址,但是不能随意访问,必须依附在变量有效范围之内。3. sizeof数组:数组所占存储空间的内存:sizeof(数组名)数组的大小:sizeof(数组名)/sizeof(数据类型)指针:在原创 2020-06-02 09:18:19 · 171 阅读 · 0 评论 -
实现一个函数,使用指针连接两个字符串
函数输入: 两个源字符串的指针,目的字符串的指针。#include <stdio.h>#include <stdlib.h>#include <Windows.h>using namespace std;char *str(char *p1, char *p2){ char *p = p1; while (*p1++); p1--; while (*p1++ = *p2++); return p; }int main(void) {原创 2020-06-02 10:51:50 · 4320 阅读 · 0 评论 -
C++使用指针实现数组成员由小到大的顺序排列
有一个整形数组, a[3] = {7,2,5}, 要求使用指针实现数组成员由小到大的顺序排列,即结果为:a[3] = {2,5,7};#include <iostream>#include <Windows.h>using namespace std;void sort(int *a, int len) { if (a == NULL) { cout << "a is NULL" << endl; system("pause"); e原创 2020-06-05 09:52:38 · 1751 阅读 · 0 评论 -
C语言指针与指针之间的加减运算
知识点:(1)指针和指针可以做减法操作,但不适合做加法运算;(2)指针和指针做减法适用的场合:两个指针都指向同一个数组, 相减结果为两个指针之间的元素数目,而不是两个指针之间相差的字节数。比如:int int_array[4] = {12, 34, 56, 78};int *p_int1 = &int_array[0];int *p_int2 = &int_array[3];p_int2 - p_int1 的结果为 3,即是两个之间之间的元素数目为 3 个。如果两个指针不是指向原创 2020-06-05 10:15:14 · 9728 阅读 · 0 评论 -
二级指针的用途
普通指针可以将变量通过参数“带入”函数内部,但没办法将内部变量“带出”函数二级指针可以不但可以将变量通过参数函数内部,也可以将函数内部变量 “带出”到函数外部。代码:#include <stdio.h>#include <stdlib.h>#include <Windows.h>void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp;}void boy_home(int **.原创 2020-06-09 08:56:45 · 2873 阅读 · 0 评论 -
要求使用指针实现数组成员由小到大的顺序排列第二版
有一个整形数组, a[3] = {7,2,5}, 要求使用指针实现数组成员由小到大的顺序排列,即结果为:a[3] = {2,5,7};第二版:#include <stdio.h>#include <iostream>#include <Windows.h>using namespace std;void order(int* a, int* b) { int tmp = *a; *a = *b; *b = tmp;}int main(void原创 2020-06-14 21:10:18 · 372 阅读 · 0 评论 -
指针的定义
指针是什么?答:在C和C++语言中,将地址形象地称为“指针”。一个专门用来存放另一个变量的地址的变量(即指针),则称它为“指针变量”。代码如下:#include <stdio.h>#include <stdlib.h>#include <Windows.h>int main(void) { int Pointer; char character; //定义了一个指针 //指针本身也是一个变量 //名称是a, 它是一个指针,可以指向一个整数原创 2020-06-17 22:59:56 · 2789 阅读 · 0 评论 -
void 类型指针
void => 空类型void* => 空类型指针,只存储地址的值,丢失类型,无法访问,要访问其值,我们必须对这个指针做出正确的类型转换,然后再间接引用指针。所有其它类型的指针都可以隐式自动转换成 void 类型指针,反之需要强制转换。#include <stdio.h>#include <stdlib.h>#include <Windows.h>int main(void) { int arr[] = { 1, 2, 3, 4, 5 };原创 2020-06-02 09:08:07 · 216 阅读 · 0 评论