所以,我有结构的列表和我分配的空间给他们用malloc(),使用*p.现在我想访问每个ptrletter元素并使用它.我该怎么办?这是我的代码.
typedef struct Words {
char *ptrletter;
int numbers;
} Word;
int main(){
FILE *f, *g;
char c,d;
int *a;
int nrofline=0;
int elements=0;
char string[2];
int lines=0;
f=fopen("m_in.txt","r");
do{
d=fgetc(f);
if (d=='\n'){
lines++;
}
}while (d!=EOF);
a=(int*)malloc(sizeof(int)*lines);
rewind(f);
lines=0;
do{
d=fgetc(f);
if ((d>='A' && d<='Z') || (d>='a' && d<='z')){
elements++;
}
if (d=='\n'){
a[lines]=elements;
lines++;
elements=0;
}
}while (d!=EOF);
Word *p=(Word*)malloc(sizeof(Word)*lines);
int j=0;
for (j=0; j<lines; j++){
strcpy(p[j].ptrletter,"");
p[j].numbers=0;
}
rewind(f);
}
Run Code Online (Sandbox Code Playgroud)
我在 …
我试图通过从Sakila数据库(https://dev.mysql.com/doc/sakila/en/)联接一些表(在MySQL中)来创建视图,即我想联接付款,人员和客户并显示客户名称,员工名称,付款ID和金额。我右键单击“视图”,然后单击“创建表”。我认为存在此错误是因为在职员表和客户表中都有名为first_name和last_name的列。我该如何解决这个问题?
我的代码:
CREATE VIEW `payment` AS
SELECT payment.payment_id, customer.first_name, customer.last_name,
staff.first_name, staff.last_name, payment.amount
FROM payment INNER JOIN customer ON payment.customer_ID = customer.customer_ID
INNER JOIN staff ON payment.staff_ID = staff.staff_ID
Run Code Online (Sandbox Code Playgroud)
错误消息:错误1060:重复的列名称'first_name'
如果像某些回答者建议的那样使用别名进行尝试,则会收到错误ERROR 1347:'sakila.payment'不是VIEW。
完全相同的代码在SQL文件中就像一个超级按钮一样工作,当我运行它时,它会创建所需的表。这两种方法有什么区别?我应该使用哪一个?为什么它不能与“视图”->“创建视图”选项一起使用?
先感谢您。