为您找到"

struct {int a;char *s;}x,*p=&x; 问*p->s (*p)->s 含义?

"相关结果约100,000,000个

struct {int a;char *s;}x,*p=&x; 问*p->s (*p)->s 含义?

因为取结构体成员操作符->的优先级大于指针运算符*,所以 *p->s就是*(p->s),s是char *,那么*(char *)结果是一个char,也就是结构变量x的成员字符串s的第一个字符。 而(*p)->s是语法错误,p是一个指向结构x的指针,*p就是x,是一个结构型变量,不能用->操作符。

...{ int a; char *s; }a,*p=&a; 则p->s++与(p->s)++是不一样的_百度...

这个是优先级问题:p->s++与(p->s)++是不一样的++的优先级高于->,p->s++相当于p->(s++),这也就跟(p->s)++不一样了。后面是一样的,*s是相当于一个整体,所以p->*s++,与(p->*s)++,也是不同的

struct prob{ int *p; struct{ int x; int y; }s; struct prob *next...

则为 两个 int型 4+4=8,struct prob * 仍然是指针类型占4个,总的来说 4+(4+4)+4=16.这题主要注意只要是指针类型都是4个字节即可。

char *p 和 char *p=(char*)malloc(sizeof(char))

char *p只是定义了一个指针类型的变量,并没有给该指针分配空间,进行初始化,不能通过该指针进行返问。char *p=(char*)malloc(sizeof(char)),定义了一个指针类型的变量p,并给该指针动态分配了一个字符的空间,可以通过该指针进行访问该空间。 A *p;p->s=“string";该指针无效,不能对该指针...

...<stdio.h> struct tt { int x;struct tt *y;}*p; struct tt a[4]=...

原题应该是:有下列程序:include <stdio.h> struct tt { int x;struct tt *y;}*p;struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};main( ){ int i;p=a;for(i=1;i<=2;i+ +) {printf("%d,",p->x);p=p->y;} } 程序的运行结果是( )。A)20,30, B)30,17 C...

...typedef int ElemType; typedef struct SqStack { ElemType data...

include<stdlib.h> typedef int ElemType;typedef struct Stack { ElemType data;struct Stack *next;}SqStack;typedef struct { SqStack * top,* base;}LSqStack;void Creat(LSqStack *S){ SqStack *p;p=(SqStack *) malloc (sizeof(LSqStack));p->next=NULL;S->base=p;S->base=S->...

struct sk{int a;float b;}data,*p;若p=&data则对data中a域正确引用...

选 b;指针方面的知识,首先p是一个指针,(*p)则表示指向地址p的对象,用对象访问域就如此表示:(*p).a。

struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}},*p=tab; *p...

int x;char *y) *p = tab; 在定义时*的作用是在修饰p是一个指针,前面struct是在修饰时什么样的指针,实际上可以分成两部分,strcut(int x;char *y ) * p = NULL; p = tab;不是处于定义时 *p = 表示对*p 进行赋值 ,在定义时*p=变身对p进行赋值。

[线性表 链表实验报告]链表线性表

void creat_seqlist(Seqlist &s);void display_seqlist(Seqlist &s);int insert_seqlist(Seqlist &s, int i, DataType x);int delet_seqlist(Seqlist &s, int i);//LinkList.cpp include include"Seqlist.h"void creat_seqlist(Seqlist &s){ int x, i = 0;cout cin>>x;while(x...

struct tt { int x ;struct tt *y;}*p; struct tt a[4]={20,a+1,15...

struct tt *y;被同时包含在tt这个结构下,就可以把这个结构看作一个链表结构了。后面的struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};充分的说明了这一点。struct tt a[4] 声明了4个tt类型的数组。{20,a+1,15,a+2,30,a+3,17,a};a[0].x = 20;a[0].y = a+1; ...
1 2 3 4 5 6 7 8 9

相关搜索