内存地址空间
- 每一块地址空间都有一个指针
指针
- 就是地址,类似门牌号,
堆空间与栈空间
内存的申请与释放
- 申请:new
- 释放:delete/delete[]
使用
- void被翻译为“无类型”
void *为“无类型指针”
*取值运算符(地址)
*people_name 取people_name指针所指向的变量的值
&取地址运算符(变量)
&people_name 取变量people_name所战用的内存地址
int
setsockopt(int socket,
int level,
int option_name,
const void *option_value, //要传一个地址
socklen_t option_len);
// SOL_SOCKET 层级的level
// on = 1 起作用
ret = setsockopt(socket_fd,
SOL_SOCKET,
SO_REUSEADDR,
&on,
sizeof(on));
//如何看和使用参数:
int accept(int socket,
struct sockaddr *restrict address, //客户端地址
socklen_t *restrict address_len);// 要传入socklen_t类型的长度
// accept_fd:新的返回值
//根据上面的示例,这样使用参数
struct sockaddr_in localaddr, remoteaddr;
socklen_t addr_len = sizeof(struct sockaddr);
accept_fd = accept(socket_fd,
(struct sockaddr *)&remoteaddr,
addr_len);