先看例子:
1#include
2void main() my_struct;
7 my_struct my_s; 8
my_s.int_field=3; //結構運算子訪問結構成員
9 my_struct *s;
10 s=(my_struct *)malloc (sizeof(my_struct));
11 s->int_field=4; 12
s->char_field='a';
13 (*s).int_field=6;
14 }
訪問結構體成員的運算子有兩種,一種是「.」即結構運算子,另一種是「->」即結構指標運算子。
結構運算子是通過結構變數名訪問結構體成員的(例如例子的第8行),而結構指標運算子是通過指向結構的指標訪問結構成員的(例如第11及12行)。
還可以用指標和結構運算子來訪問結構(如第13行),其中(*s)中的圓括號不可以省去
平時看簡單例子看慣的緣故,本來以為很簡單的知識。可是正到了專案上遇到了就有中把握不住的感覺,還是由於看的少的原因,所以不要只停留在理論的基礎上。還是看專案源**:
。。。。
。。。。
1. enum ;
2. struct devices ;
。 。 。
。 。 。
static jint init_native(jnienv *env, jobject clazz)}
也無非就這麼三種用法,熟悉了以後專案再遇到就很簡單!
結構體指標訪問成員
結構體指標訪問成員 include struct student int main p stu1 printf 學號 t姓名 t分數 n printf d t s t 0.1f n p num,p name,p score 2.該種方法是定義乙個指標變數,只指向乙個struct student的結構...
C語言訪問結構體成員
c語言中有 和 這兩個運算子都是用來訪問結構體 的。比如有結構體 struct student 並且有兩個變數 struct student zhangsan struct student p p zhangsan 你要留意zhangsan是結構體的名 字,p是指向這個結構體的指標 那麼訪問結構體的...
C C 中的結構體
在c中 typedef struct studentstu struct student stu1 stu stu2 stu1.a 2 stu2.a 3 使用typedef後,stu和struct student一樣,是一種結構體型別,能用來定義變數。struct student stu 在c中,不...