Void null 0 有咩分別?

11 回覆
1 Like 2 Dislike
2020-05-20 22:16:16
2020-05-20 22:35:42
有咩分別? 根本三樣唔同野嚟
void: 行個method入面code, 但係唔return任何野
null: 吉, 冇野喺到
0: value = 0
2020-05-20 22:42:17
假設你有個盒:

0:個盒入面有舊嘢係「0」
null:個盒入面冇嘢
void:直情無左個盒
2020-05-21 16:13:51
喺大部分low level language嘅null == 0x0 == 0
2020-05-21 19:45:22
一個係unit monad
一個係ternary logic
一個係real number
2020-05-22 20:19:09
void: function return nothing
null: value is null
0: value is 0 / false
2020-05-22 20:24:15
仲有void* 係同void完全冇關係
2020-06-20 15:18:20
2020-06-27 02:40:51
C/CPP

void = data type

0:
two scenario, integer 0 / pointer 0

int num = 0; // 單純 數數字既0  , 假設num既Memory address係 46
int* ptr_num = 0 // pointer variable 係0 姐係NULL
int * ptr_num = NULL // 同上面一樣
void* ptr_num = # // store  0個address落去 ptr_num  = 46

int num = 5;   // 假設係memory address 係46
 void* ptr_num = #
  
 std::cout << ptr_num;   // 46
 std::cout << *ptr_num; // Error Pointer points to a specific type of pointer

int 要對int
float 要對float
class 要對class

void type pointer = 單純store address
另外一點 Pointer本身佔Memory address
Pointer以外仲有reference
int num = 5;
 int& ref_num = num;
 int* ptr_num = &num;
  ref_num = 8;
  std::cout << num << std::endl;
  std::cout << ref_num << std::endl;
  std::cout << *ptr_num << std::endl;
std::cout << &num << std::endl;    // num's address
  std::cout << &ref_num << std::endl; // same as num's address

值得一題 reference variable 係唔佔memory address
而且中途係冇得改reference

hope it helps

利申:新手鳩嗡
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞