cfnr.net
当前位置:首页 >> C语言简单习题:struCt st {int n; struCt st *nEx... >>

C语言简单习题:struCt st {int n; struCt st *nEx...

选D 首先必须确定一点,就是->运算符比++运算符的优先级要高,然后,别忘了++在变量前和变量后的区别 按照这个算4个表达式的值 表达式A 等同于p->n 然后p=p+1,表达式值是p自增之前p->n的值也就是5 表达式B 首先计算p->n的值,也就相当于a[0].n(...

如果是C++,A和B都对,如果是C语言,只有B对。可以用VC6建立.CPP和.C文件来验证。.CPP是C++文件,.C是C文件。

一般这个形式的表示法是在数组做参数的函数声明时候表示,例如:int fact( int st[],int n){} 表示一个数组名 当然当你学习指针学的深了以后会知道,上面的函数等同于:int fact(int* st,int n){} 数组做参数的时候,只需要传入首地址的指针,然...

struct st {int n; float x; }*p; //这有两层意思,分解开来就是: 1) 声明一个结构体struct st{int n; float x;} 2) 定义一个st结构体指针变量struct st *p;

struct TT st;是错误的,它的本意是定义一个TT型的结构变量,但是这种用法不对 以下是正确的: struct TT{char c;int a;}; struct TT st;

我的看法,不一定对哦: #include "stdio.h" struct st_t //声明结构体,长度2+2+32 { int status; 声明status short *pdata; char errstr[32]; }; void main() { struct st_t st[16]; 声明数组st,有16个元素,,每个 元素的结构是struct st_t ...

问题1:分配区域时前面的(struct stu*)有没有必要,能不能省去; 可以省,但有的编译器可能会报错误,有的能编译通过。原因:malloc()函数原型为: void * malloc( size_t size ) ; //返回的指针类型可以是任意类型 因此,加上强制转换,以达到与p...

就是强制类型转换,先将成员(str[0].name)的地址转换成q类型。因为定义q是一个指向struct stu_type的类型数据指针变量,它用来指向一个struct stu_type类型的数据(q的值是str数组的一个元素 如(str[0]、str[1]、str[2])的起始地址,不应用...

可以 前提是两个变量 里面的定义得一样

简单讲两个概念: 1、数组名表示数组首地址。 2、运算符->优先级高于*。 所以*pt->y就相当于*(pt->y)。 由于pt==c==&c[0]; 所以pt->y就是结构体变量{10,a}->y就是a。 a也是数组名,所以就是&a[0]; 所以*pt->y就是*(&a[0])就是a[0]就是1。 另外补...

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com