由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 程序中的各个变量/数组的内存地址是否会混在一起?
相关主题
malloc返回的地址指向了正在被其它变量使用的内存请求帮助 a C++/C question
C++debug遇到的问题数组问题
为啥指针读出的数值十分巨大或者十分小?怎么得到char *分配空间的大小?
C++一问数组指针的问题
求GCC高手int *a [] 和int (*a)[] 一样吗
请问这个C++程序有什么问题吗请问多个线程同时访问同一个内存地址会不会使得程序变慢
for 循环下给不同变量赋值问题purify和valgrind的比较
[合集] c++ 的一个弱问题C++动态内存碎片问题
相关话题的讨论汇总
话题: 数组话题: 变量话题: 内存地址话题: 程序话题: 混在
进入Programming版参与讨论
1 (共1页)
h*****n
发帖数: 209
1
比如说一个C程序内有很多int型的变量,还有一些int 或 char的数组,
有时候我发现这些变量的内存地址有可能和这些数组的地址混在一起了,这样就导致了
一些莫名其妙的bug。
不知道这是由于compiler的问题,还是程序本身没设计好。
我想版上的高手应该也经历过类似的问题。那么如何预防这种bug呢?
X****r
发帖数: 3557
2
一般来说,程序里定义的变量,包括数组,各有不同的地址,是不会混淆的。
你说的“数组”大概是指指针吧。一旦使用指针,自然有可能指向错误的地方。

【在 h*****n 的大作中提到】
: 比如说一个C程序内有很多int型的变量,还有一些int 或 char的数组,
: 有时候我发现这些变量的内存地址有可能和这些数组的地址混在一起了,这样就导致了
: 一些莫名其妙的bug。
: 不知道这是由于compiler的问题,还是程序本身没设计好。
: 我想版上的高手应该也经历过类似的问题。那么如何预防这种bug呢?

b******n
发帖数: 592
3
越界这种情况,可以用valgrind. 变量名字起的有关一些,可以避免很多这样的问题。
这些都是程序的问题,compiler不会给你制造这种麻烦的。

【在 h*****n 的大作中提到】
: 比如说一个C程序内有很多int型的变量,还有一些int 或 char的数组,
: 有时候我发现这些变量的内存地址有可能和这些数组的地址混在一起了,这样就导致了
: 一些莫名其妙的bug。
: 不知道这是由于compiler的问题,还是程序本身没设计好。
: 我想版上的高手应该也经历过类似的问题。那么如何预防这种bug呢?

h*****n
发帖数: 209
4
多谢。
这样的问题确实都是由越界引起的,应该是程序的问题。

【在 b******n 的大作中提到】
: 越界这种情况,可以用valgrind. 变量名字起的有关一些,可以避免很多这样的问题。
: 这些都是程序的问题,compiler不会给你制造这种麻烦的。

c**b
发帖数: 2999
5
变量名字尽量用具体的,比如userName. c里面难度大的是指针,数组,函数.

【在 h*****n 的大作中提到】
: 比如说一个C程序内有很多int型的变量,还有一些int 或 char的数组,
: 有时候我发现这些变量的内存地址有可能和这些数组的地址混在一起了,这样就导致了
: 一些莫名其妙的bug。
: 不知道这是由于compiler的问题,还是程序本身没设计好。
: 我想版上的高手应该也经历过类似的问题。那么如何预防这种bug呢?

c**b
发帖数: 2999
6
可能有时候给string赋值的时候,要把最后一个手动赋值为"\0'.

【在 h*****n 的大作中提到】
: 比如说一个C程序内有很多int型的变量,还有一些int 或 char的数组,
: 有时候我发现这些变量的内存地址有可能和这些数组的地址混在一起了,这样就导致了
: 一些莫名其妙的bug。
: 不知道这是由于compiler的问题,还是程序本身没设计好。
: 我想版上的高手应该也经历过类似的问题。那么如何预防这种bug呢?

1 (共1页)
进入Programming版参与讨论
相关主题
C++动态内存碎片问题求GCC高手
有人用Boost.MPI吗?请问这个C++程序有什么问题吗
C++的一个大问题是裸指针不是对象的身份证for 循环下给不同变量赋值问题
G++用-g和-O3编译运行结果竟然不一样[合集] c++ 的一个弱问题
malloc返回的地址指向了正在被其它变量使用的内存请求帮助 a C++/C question
C++debug遇到的问题数组问题
为啥指针读出的数值十分巨大或者十分小?怎么得到char *分配空间的大小?
C++一问数组指针的问题
相关话题的讨论汇总
话题: 数组话题: 变量话题: 内存地址话题: 程序话题: 混在