typedef使用
作用:起别名
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//给结构体类型起别名,叫stu,起了结构体指针类型的别名,叫pstu
typedef struct student {
int num;
char name[20];
char sex;
}stu, *pstu;
typedef int INTEGER;//对int起别名,是为了起到代码即注释的作用
int main() {
stu s = {1001, "wangle", 'M'};
pstu p;//stu* p1,那么p1也是一个结构体指针
INTEGER i = 10;
p = &s;
printf("i=%d,p->num=%d\n", i, p->num);
return 0;
}
c++的引用
#include<stdio.h>
//把&写到形参是C++的语法,称为引用
void modifynum(int& b) {
++b;
}
int main() {
int a = 10;
modifynum(a);
printf("a=%d\n", a);
return 0;
}
若采用C语言的语法:
#include<stdio.h>
//把&写到形参是C++的语法,称为引用
/*
void modifynum(int& b) {
++b;
}
int main() {
int a = 10;
modifynum(a);
printf("a=%d\n", a);
return 0;
}
*/
void modifynum(int *b) {
++(*b);
}
int main() {
int a = 10;
modifynum(&a);
printf("a=%d\n", a);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
//把&写到形参是C++的语法,称为引用
void modifynum(int& b) {
++b;
}
void modify_pointer(int*& p) {
p = (int*)malloc(20);
p[0] = 5;
}
int main() {
int a = 10;
modifynum(a);
printf("a=%d\n", a);
int* p = NULL;
modify_pointer(p);
printf("p[0]=%d\n", p[0]);
return 0;
}