CSDN论坛 > VC/MFC > 基础类

一个非常奇怪的问题:为何执行一条指针指向某地址,但实际情况并没有指向该地址,这是为何? [问题点数:0分]

Bbs2
本版专家分:219
结帖率 100%
CSDN今日推荐
匿名用户不能发表回复!
其他相关推荐
单链表为什么用指向指针的指针
int a = 1, b =2; void change(int *x) { x = &b; } void _change(int **x) { *x = &b; } void main() { int *p = &a; change(p); cout << *p << endl; _change(&p); cout << *p << endl; system("pause
函数形参是指向指针的指针
一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 14
指针是用来指向地址的
最近写代码过程中,声明结构体指针后,接着就往结构体里的成员变量指针里赋字符串,导致程序运行时中断报错。 #include "stdafx.h" #include "iostream" using namespace std; struct CeShi { char *a; }; void display(char *str) { CeShi *info = NULL; info->a
指针变量与变量地址
一、基本概念     存储单元一般应具有存储数据和读写数据的功能,以8位二进制作为一个存储单元,也就是一个字节。每个单元有一个地址,是一个整数编码,可以表示为二进制整数。程序中的变量和主存储器的存储单元相对应。变量的名字对应着存储单元的地址,变量内容对应着单元所存储的数据。存储地址一般用十六进制数表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容。
再谈C语言指针—指向另一指针的指针
原文:http://c.biancheng.net/cpp/html/495.html 一、回顾指针概念 早在本书第贰篇中我就对指针的实质进行了阐述。今天我们又要学习一个叫做“指向另一指针地址”的指针。让我们先回顾一下指针的概念吧! 当我们程序如下声明变量:    short int i;    char a;    short int * pi; 程序会在内存某地址空间上为各变
不要将malloc后的地址赋予两个指针变量!
不要将malloc后的地址赋予两个指针变量! free函数释放后原内存空间中值的变化。
有关内存的思考?GetMemory()
题目:void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } 请问运行Test 函数会有什么样的结果? 分析:程序崩溃。因为GetMem
指针指向变量的首地址
普通计算机上的 地址都是4个字节,无论哪种变量,它的首地址都是4个字节,都是 unsigned long int 型。我们说 double占8个字节 是指 存放一个 double 型数据,需要 的房间大小是 8个字节。地址 就像住家的门牌号。数据存放单元 是 这家的 房子大小。无论 char, short, float, double 门牌号 都是 4个字节.char 的房子大小 是 1字
知道指针地址 , 怎么取出指针指向的内容??? 0x7fff5fbff564 这种值 怎么赋值给一个变量??
待定...
不要将两个指针变量指向同一块动态内存
不要将两个指针变量指向同一块动态内存。这个容易引起很严重的问题。如果将两个指针变量指向同一块动态内存,而其中一个生命期结束释放了该动态内存,这个时候就会出现问题,另一个指针所指向的地址虽然被释放了但该指针并不等于NULL,这就是所谓的悬垂指针错误,这种错误很难被察觉,而且非常严重,因为这时该指针的值是随机的,可能指向一个系统内存而导致程序崩溃。但也就是因为值是随机的,所以运行程序时有时正常有时崩溃
关闭
关闭