65,211
社区成员
发帖
与我相关
我的任务
分享
抄写了LS的老大们的代码,
#include <iostream>
#include <string>
using namespace std;
struct lnk
{
std::string name;
int size;
};
int pp(lnk &test)
{
test.name = "d";
test.size = 1;
return 0;
}
int main()
{
lnk tt;
pp(tt);
std::cout<<tt.name<<std::endl;
return 0;
}
#include <iostream>
#include <string>
struct lnk
{
std::string name;
int size;
};
int pp(lnk &test)
{
test.name = "d";
test.size = 1;
return 0;
}
int main()
{
lnk tt;;
pp(tt);
std::cout << tt.name << std::endl;
return 0;
}
#include <iostream>
#include <cstdlib> //不要使用"stdlib.h"格式
using namespace std;
typedef struct ll
{
char* name;
int size;
}lnk;
int pp1(lnk *&test) //指针的引用
{
lnk* temp = (lnk*)malloc(sizeof(lnk));
temp->name = "d";
temp->size = 1;
test = temp;
return 0;
}
int pp2(lnk *&test) //指针的引用
{
lnk* temp = (lnk*)malloc(sizeof(lnk));
temp->name = "d";
temp->size = 1;
test = temp;
return 0;
}
int main(void)
{
lnk* tt = NULL;
pp1(tt); //指针的副本,不影响实际参数,改为二级指针
std::cout << tt->name << std::endl;
tt = NULL;
pp2(tt); //指针的副本,不影响实际参数,改为指针的引用
std::cout << tt->name << std::endl;
return 0;
}
#include <iostream>
#include <stdlib.h>
typedef struct ll {
char* name;
int size;
}lnk;
int pp(lnk *test) {
test ->name = "d";
test ->size = 1;
return 0;
}
int main() {
lnk* tt = (lnk*)malloc(sizeof(lnk));
pp(tt);
std::cout < < tt->name < < std::endl;
return 0;
} #include <iostream>
#include <stdlib.h>
typedef struct ll {
char* name;
int size;
}lnk;
int pp(lnk **test) {
lnk* temp = (lnk*)malloc(sizeof(lnk));
char* s = "d";
temp->name = s;
temp->size = 1;
*test = temp;
return 0;
}
int main() {
lnk* tt = NULL;
pp(&tt);
std::cout << tt->name << std::endl;
return 0;
}
#include <iostream>
#include <stdlib.h>
typedef struct ll {
char name; //这里不要用char*,否则你就要注意释放char*的内存了
int size;
}lnk;
int pp(lnk **test) { //用二级指针
lnk* temp = (lnk*)malloc(sizeof(lnk));
temp->name = 'd';
temp->size = 1;
*test = temp;
return 0;
}
int main() {
lnk* tt = NULL;
pp(&tt);
std::cout << tt->name << std::endl;
return 0;
}