C和C++结构体区别
C和C++結(jié)構(gòu)體的區(qū)別
| typedef struct Complex{ int read; int image; }Complex; |
那么,在說明Complex變量的時(shí)候可以這樣寫
| Complex complex; |
但是如果沒有typedef就必須用
| struct Complex complex; |
來聲明。這里的Complex實(shí)際上就是struct Complex的別名。另外這里也可以不寫Complex(于是也不能struct Complex complex;了)
| typedef struct{ int read; int image; }Complex; |
但在c++里很簡(jiǎn)單,直接
| struct Complex{ int read; int image; }; |
于是就定義了結(jié)構(gòu)體類型Complex,聲明變量時(shí)直接Complex complex;
?
| struct Complex1{ int read; int image; }complex;//complex是一個(gè)變量 ? typedef?? struct?? Complex2{ int read; int image; }Complex2;//Complex是一個(gè)結(jié)構(gòu)體類型 |
使用時(shí)可以直接訪問complex.read,但是Complex2則必須先Complex2 complex2;然后complex2.read = 1;
二、. 和-> 區(qū)別
定義結(jié)構(gòu)體指針,訪問成員時(shí)就用->
定義結(jié)構(gòu)體變量,訪問成員時(shí)就用.
例如:
struct A {
int a;
char b;
};
struct A q; 訪問成員就用:q.a;
struct A *p; 訪問成員就用:p->a;
參考自:https://blog.csdn.net/mengxiangjia_linxi/article/details/70308544
總結(jié)
以上是生活随笔為你收集整理的C和C++结构体区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: most recent call las
- 下一篇: C++基础11-类和对象之操作符重载2