
指针
关于指针
weixin_46060711
c/c++
展开
-
关于指针转换,指针加减的深入理解
代码如下:#include <stdio.h>int main(void) { int a[5] = {1, 2, 3, 4, 5); int *pstr1 = (int*)(&a + 1); int *pstr2 = (int*)((int)a + 1); printf("%x, %x\n", *pstr1[-1], *pstr2); return 0;}输出结果为:5 2000005可以明白怎么得到的,但是为什么会出现200000?请看图!(地址为小端原创 2021-12-26 21:27:50 · 279 阅读 · 0 评论 -
函数返回指针时,不能返回临时变量的地址,会出问题
函数返回指针时,不能返回临时变量的地址:代码如下,#include<iostream>#include<Windows.h>using namespace std;int *add1(int x, int y) { int sum = x + y; return ∑}int main(void) { int a = 3; int b = 5; int *sum = NULL; sum = add1(a, b); cout <原创 2021-12-08 23:04:36 · 1010 阅读 · 0 评论 -
为什么要使用动态内存
为什么要使用动态内存:1.按需分配内存,用完就释放,不浪费2.被调用函数之外需要使用被调用函数内部的指针对应的地址空间3.突破栈区的限制,给程序分配更多的内存1.按需分配内存,用完就释放,不浪费使用的编译器为:VC++ 2010#include<stdio.h>#include<stdlib.h>#include<string.h>int main(void) { int farmer[10] = {160,230,100,650,490,330,5原创 2021-12-07 17:52:22 · 850 阅读 · 0 评论 -
分配动态内存的函数new与malloc
1.new1)分配一个整型变量的动态内存有两种方式#include<stdio.h>#inlcude<stdlib.h> int main(void) { int num = 0; int *salary = NULL; //salary = new int(666);//第一种 直接赋值,这次赋的值为668 salary = new int;//第二种 先分配, *salary = 666;//再赋值 printf("salary:%d\n", *s原创 2021-12-07 15:57:44 · 146 阅读 · 0 评论 -
倒着输出一个汉字字符串,或者汉字与其它字符混合
#include<iostream>#include<string.h>#include<Windows.h>using namespace std;/*练习 1 1. 实现含有中文字符的字符串逆转,如: “我是小萌新” 转换成“新萌小是我” */#define N 5void reverse1(unsigned char *a);void reverse2(unsigned char *a);int main(void) { //第一原创 2021-12-06 18:41:47 · 137 阅读 · 0 评论 -
关于指针的错误使用之一----没有初始化就开始使用指针赋值改变所指向的内容
没有初始化就急切的赋值:#include<iostream>#include<Windows.h>using namespace std;int main(void) { int a=0; int *p; *p = a; system("pause"); return 0;}debug之后,编译器提示:Run-Time Check Failure #3 - The variable 'p' is being used without being in原创 2021-12-04 22:24:04 · 5359 阅读 · 0 评论 -
关于定义一个指向整个一维数组的指针与其错误的赋值方法
1.定义一个指向数组的指针的方式为:#include<iostream>#include<Windows.h>using namespace std;/*练习 1 实现含有中文字符的字符串逆转,如: “我是小萌新” 转换成“新萌小是我” */#define N 5int main(void) { char a[N][4] = {{"我"}, {"是"}, {"小"}, {"萌"}, {"678"}}; char (*p)[4];//定义一个指向有四个成员原创 2021-12-04 20:19:50 · 807 阅读 · 0 评论