|登录 |注册

楼主: goodhermit95
打印 上一主题 下一主题

【原创文章】Programmer,给那些想学的人看的

[复制链接]
goodday
2008-11-19 09:47 AM
我也是VS 的

*nPtr = *nPtr * *nPtr * *nPtr;

*nPtr

有 * 就是pointer 来的 , 是只定的记忆地址

*nPtr  = *nPtr  X *nPtr  X*nPtr ;

*nPtr  乘 *nPtr  乘 *nPtr

对吗?? 番茄



好久没动c++ 了
几乎忘到完

回复 #81 goodday 的帖子

进进
2008-11-19 10:29 AM
那么pointer 的* 和&可以一起用同一排code吗?
Super-Tomato
2008-11-19 10:38 AM
原帖由 进进 于 2008-11-19 08:07 AM 发表
请问下一下你写programing用的是什么software?
我用的是Microsoft Visual Studio。你们认为Microsoft Visual Studio好用吗?


這些 IDE 編輯軟體很多, 這是看個人喜好....  VS 在支援微軟方面是個不錯的軟體



原帖由 进进 于 2008-11-19 08:12 AM 发表
在请问下pointer的东西。。
#include "stdafx.h"
#include <iostream>

using namespace std;

void cubeByReference( int * );   


int main()
{
   int number = 5;

   cout << "The original value of number is " << number;
   cubeByReference( &number );
   cout << "\nThe new value of number is " << number << endl;
   return 0;
}

void cubeByReference( int *nPtr )
{
   *nPtr = *nPtr * *nPtr * *nPtr;  
}

=================
请问一下 *nPtr = *nPtr * *nPtr * *nPtr; 这段是在写些什么?我有些不明白。。



首先你要知道 pointer 的優點就是在於容易掌握變數被處理器所編排在記憶體中的位置和值
就如 goodday 所說的 *nPtr 是個指向number, 例如:


int number = 5;
int *p = &number; //把 number 的記憶體位置賦予 p 指針

cout << "p 的值 = " << *p << "\n";
cout << "p 的記憶體位置 = " << p << "\n\n";

number = 10;

cout << "p 的值 = " << *p << "\n";
cout << "p 的記憶體位置 = " << p << "\n\n";

*p = 20;

cout << "number 的值 = " << number << "\n";
cout << "number 的記憶體位置 = " << &number;


通過這個例子可以看到 p 和 number 變數之間的關係, 開始可能會覺得很亂, 但是使用一段時間之後就比較容易釐清 pointer 的使用, 再來就是去了解 **p 等二次指針
但記得 * 和變數緊貼的就是 pointer, 不然 * 是個運算子



原帖由 进进 于 2008-11-19 10:29 AM 发表
那么pointer 的* 和&可以一起用同一排code吗?


這句不明白甚麼是同一排

[ 本帖最后由 Super-Tomato 于 2008-11-19 10:42 AM 编辑 ]

回复 #83 Super-Tomato 的帖子

进进
2008-11-19 11:17 AM
比如说int *p = &number;(是原本的code)
可以写成  int *p = *&number;吗?

谢谢你和#81 goodday 分析到很清楚。。。
虚空使者
2008-11-19 11:40 AM
啊~
這里高手好多。。。
我才只學會C++那3個loop。。if else, switch case...
現在能做到的極限就是arrays(bubble sort那些)了
void其他那些完全沒碰到==
two dimensional array我聽到頭腦炸掉
還好這次考試沒有出叫我寫上面那個program

[ 本帖最后由 虚空使者 于 2008-11-19 11:41 AM 编辑 ]
Super-Tomato
2008-11-19 02:53 PM
原帖由 进进 于 2008-11-19 11:17 AM 发表
比如说int *p = &number;(是原本的code)
可以写成  int *p = *&number;吗?

谢谢你和#81 goodday 分析到很清楚。。。



很清楚的 &number 是表示 number 的指針位置, 而你在前面強加上個 * 即代表要求賦予指針位置的指針, 這是不可能的.

C語言中 pointer 是不暫有記憶體的, 就如 :

int number = 5;
int *p = &number;

&number (記憶體中的位置)假設是 0x000001, 那麼此時 p 就代表是 0x000001,
關係久如 p ---> number(0x000001) = 5, 從你上面的寫法也就沒辦法畫出這個關係表, 因為 number 根本沒指向另一塊記憶體位置

建議你必須去回顧一下 data communication 中 little man 的操作理論, 如果有記憶體方面詳細的結構就更好, 會幫助到你以後怎麼控制好記憶體的使用.
goodday
2008-11-20 10:09 AM
你可以去看看这个我时常查的 website

http://www.cplusplus.com/doc/tutorial/dynamic.html
MercyGodlikE
2008-11-20 09:33 PM
goodday.或是其他懂programming的
请问你门可不可以add我msn教我
我是新手>.<
我真心诚意想学的。。。
因为家里经济有限。我不能出外面学
请你们行行好。。
谢谢!MSN=mercygodlike@Hotmail.com
real.gigaleon
2008-11-22 04:55 AM
原帖由 MercyGodlikE 于 2008-11-20 21:33 发表
goodday.或是其他懂programming的
请问你门可不可以add我msn教我
我是新手>.

em0026

还是自己学比较好哦,goodday有一个贴是写给想学programming的人看的,可以去看(其实那个文章对于想学电脑的每个人来说都是适用的)
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2026-1-1 06:53 AM , Processed in 0.105671 second(s), 21 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部