matlab 中结构体的元素中有数组,那么结构体的数组中的元素如何输出? 如何输出一个结构体中的数组??

matlab\u600e\u6837\u8f93\u51fa\u7ed3\u6784\u4f53\u6570\u7ec4

\u7ed3\u6784(struct)\u6570\u7ec4

\u8981\u5728MALTAB\u4e2d\u5b9e\u73b0\u6bd4\u8f83\u590d\u6742\u7684\u7f16\u7a0b\uff0c\u5c31\u4e0d\u80fd\u4e0d\u7528struct\u7c7b\u578b\u3002\u800c\u4e14\u5728MATLAB\u4e2d\u5b9e\u73b0struct\u6bd4C\u4e2d\u66f4\u4e3a\u65b9\u4fbf\u3002

4. 3.1 \u7ed3\u6784\u6570\u7ec4\u7684\u521b\u5efa
MATLAB\u63d0\u4f9b\u4e86\u4e24\u79cd\u5b9a\u4e49\u7ed3\u6784\u7684\u65b9\u5f0f\uff1a\u76f4\u63a5\u5e94\u7528\u548c\u4f7f\u7528struct\u51fd\u6570\u3002
1. \u4f7f\u7528\u76f4\u63a5\u5f15\u7528\u65b9\u5f0f\u5b9a\u4e49\u7ed3\u6784
\u4e0e\u5efa\u7acb\u6570\u503c\u578b\u6570\u7ec4\u4e00\u6837\uff0c\u5efa\u7acb\u65b0struct\u5bf9\u8c61\u4e0d\u9700\u8981\u4e8b\u5148\u7533\u660e\uff0c\u53ef\u4ee5\u76f4\u63a5\u5f15\u7528\uff0c\u800c\u4e14\u53ef\u4ee5\u52a8\u6001\u6269\u5145\u3002\u6bd4\u5982\u5efa\u7acb\u4e00\u4e2a\u590d\u6570\u53d8\u91cfx\uff1a
x.real = 0; % \u521b\u5efa\u5b57\u6bb5\u540d\u4e3areal\uff0c\u5e76\u4e3a\u8be5\u5b57\u6bb5\u8d4b\u503c\u4e3a0
x.imag = 0 % \u4e3ax\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5b57\u6bb5imag\uff0c\u5e76\u4e3a\u8be5\u5b57\u6bb5\u8d4b\u503c\u4e3a0
x =
real: 0
imag: 0
\u7136\u540e\u53ef\u4ee5\u5c06\u65d7\u52a8\u6001\u6269\u5145\u4e3a\u6570\u7ec4\uff1a
x(2).real = 0; % \u5c06x\u6269\u5145\u4e3a1\u00d72\u7684\u7ed3\u6784\u6570\u7ec4
x(2).imag = 0;
\u5728\u4efb\u4f55\u9700\u8981\u7684\u65f6\u5019\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u6570\u7ec4\u52a8\u6001\u6269\u5145\u5b57\u6bb5\uff0c\u5982\u589e\u52a0\u5b57\u6bb5scale\uff1a
x(1).scale = 0;
\u8fd9\u6837\uff0c\u6240\u6709x\u90fd\u589e\u52a0\u4e86\u4e00\u4e2ascale\u5b57\u6bb5\uff0c\u800cx(1)\u4e4b\u5916\u7684\u5176\u4ed6\u53d8\u91cf\u7684scale\u5b57\u6bb5\u4e3a\u7a7a\uff1a
x(1) % \u67e5\u770b\u7ed3\u6784\u6570\u7ec4\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\u7684\u5404\u4e2a\u5b57\u6bb5\u7684\u5185\u5bb9
ans =
real: 0
imag: 0
scale: 0
x(2) % \u67e5\u770b\u7ed3\u6784\u6570\u7ec4\u7684\u7b2c\u4e8c\u4e2a\u5143\u7d20\u7684\u5404\u4e2a\u5b57\u6bb5\u7684\u5185\u5bb9\uff0c\u6ce8\u610f\u6ca1\u6709\u8d4b\u503c\u7684\u5b57\u6bb5\u4e3a\u7a7a
ans =
real: 0
imag: 0
scale: []
\u5e94\u8be5\u6ce8\u610f\u7684\u662f\uff0cx\u7684real\u3001imag\u3001scale\u5b57\u6bb5\u4e0d\u4e00\u5b9a\u662f\u5355\u4e2a\u6570\u636e\u5143\u7d20\uff0c\u5b83\u4eec\u53ef\u4ee5\u662f\u4efb\u610f\u6570\u636e\u7c7b\u578b\uff0c\u53ef\u4ee5\u662f\u5411\u91cf\u3001\u6570\u7ec4\u3001\u77e9\u9635\u751a\u81f3\u662f\u5176\u4ed6\u7ed3\u6784\u53d8\u91cf\u6216\u5143\u80de\u6570\u7ec4\uff0c\u800c\u4e14\u4e0d\u540c\u5b57\u6bb5\u4e4b\u95f4\u5176\u6570\u636e\u7c7b\u578b\u4e0d\u9700\u8981\u76f8\u540c\u3002\u4f8b\u5982\uff1a
clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10);

\u6570\u7ec4\u4e2d\u4e0d\u540c\u5143\u7d20\u7684\u540c\u4e00\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u4e5f\u4e0d\u8981\u6c42\u4e00\u6837\uff1a
x(2).real = '123';
x(2).imag = rand(5,1);
\u751a\u81f3\u8fd8\u53ef\u4ee5\u901a\u8fc7\u5f15\u7528\u6570\u7ec4\u5b57\u6bb5\u6765\u5b9a\u4e49\u7ed3\u6784\u6570\u636e\u7c7b\u578b\u7684\u67d0\u5b57\u6bb5\uff1a
x(3).real = x(1); x(3).imag = 3; x(3)
ans =
real: [1x1 struct]
imag: 3
\u4e0b\u9762\u770b\u4e00\u4e2a\u5b9e\u9645\u7684\u4f8b\u5b50\u6765\u719f\u6089\u76f4\u63a5\u5f15\u7528\u65b9\u5f0f\u5b9a\u4e49\u4e0e\u663e\u793a\u7ed3\u6784\u3002
\u3010\u4f8b4.3.1-1\u3011 \u6e29\u5ba4\u6570\u636e\uff08\u5305\u62ec\u6e29\u5ba4\u540d\u3001\u5bb9\u91cf\u3001\u6e29\u5ea6\u3001\u6e7f\u5ea6\u7b49\uff09\u7684\u521b\u5efa\u4e0e\u663e\u793a\u3002
\uff081\uff09 \u76f4\u63a5\u5bf9\u57df\u8d4b\u503c\u6cd5\u4ea7\u751f\u7ed3\u6784\u53d8\u91cf
green_house.name = '\u4e00\u53f7\u6e29\u5ba4'; % \u521b\u5efa\u6e29\u5ba4\u540d\u5b57\u6bb5
green_house.volume = '2000\u7acb\u65b9\u7c73'; % \u521b\u5efa\u6e29\u5ba4\u5bb9\u91cf\u5b57\u6bb5
green_house.parameter.temperature = [31.2 30.4 31.6 28.7 % \u521b\u5efa\u6e29\u5ba4\u6e29\u5ea6\u5b57\u6bb5
29.7 31.1 30.9 29.6];
green_house.parameter.humidity = [62.1 59.5 57.7 61.5; % \u521b\u5efa\u6e29\u5ba4\u6e7f\u5ea6\u5b57\u6bb5
62.0 61.9 59.2 57.5];
\uff082\uff09\u663e\u793a\u7ed3\u6784\u53d8\u91cf\u7684\u5185\u5bb9
green_house % \u663e\u793a\u7ed3\u6784\u53d8\u91cf\u7ed3\u6784
green_house =
name: '\u4e00\u53f7\u6e29\u5ba4'
volume: '2000\u7acb\u65b9\u7c73'
parameter: [1x1 struct]
green_house.parameter % \u7528\u57df\u4f5c\u7528\u7b26\u53f7. \u663e\u793a\u6307\u5b9a\u57df\uff08parameter\uff09\u4e2d\u5185\u5bb9
ans =
temperature: [2x4 double]
humidity: [2x4 double]
green_house.parameter.temperature % \u663e\u793atemperature\u57df\u4e2d\u7684\u5185\u5bb9
ans =
31.2000 30.4000 31.6000 28.7000
29.7000 31.1000 30.9000 29.6000

\u3010\u4f8b4.3.1-2\u3011\u5728\u4e0a\u4f8b\u7684\u57fa\u7840\u4e0a\uff0c\u521b\u5efa\u7ed3\u6784\u6570\u7ec4\u7528\u4ee5\u4fdd\u5b58\u4e00\u4e2a\u6e29\u5ba4\u7fa4\u7684\u6570\u636e\u3002
green_house(2,3).name = '\u516d\u53f7\u6e29\u5ba4'; %\u4ea7\u751f2\u00d73\u7ed3\u6784\u6570\u7ec4
green_house % \u663e\u793a\u7ed3\u6784\u6570\u7ec4\u7684\u7ed3\u6784
green_house =
2x3 struct array with fields:
name
volume
parameter
green_house(2,3) % \u663e\u793a\u7ed3\u6784\u6570\u7ec4\u5143\u7d20\u7684\u7ed3\u6784
ans =
name: '\u516d\u53f7\u6e29\u5ba4'
volume: []
parameter: []

2. \u4f7f\u7528struct\u51fd\u6570\u521b\u5efa\u7ed3\u6784
\u4f7f\u7528struct\u51fd\u6570\u4e5f\u53ef\u4ee5\u521b\u5efa\u7ed3\u6784\uff0c\u8be5\u51fd\u6570\u4ea7\u751f\u6216\u5427\u5176\u4ed6\u5f62\u5f0f\u7684\u6570\u636e\u8f6c\u6362\u4e3a\u7ed3\u6784\u6570\u7ec4\u3002
struct\u7684\u4f7f\u7528\u683c\u5f0f\u4e3a\uff1a
s = sturct('field1',values1,'field2',values2,\u2026);
\u8be5\u51fd\u6570\u5c06\u751f\u6210\u4e00\u4e2a\u5177\u6709\u6307\u5b9a\u5b57\u6bb5\u540d\u548c\u76f8\u5e94\u6570\u636e\u7684\u7ed3\u6784\u6570\u7ec4\uff0c\u5176\u5305\u542b\u7684\u6570\u636evalues1\u3001valuese2\u7b49\u5fc5\u987b\u4e3a\u5177\u6709\u76f8\u540c\u7ef4\u6570\u7684\u6570\u636e\uff0c\u6570\u636e\u7684\u5b58\u653e\u4f4d\u7f6e\u57df\u5176\u4ed6\u7ed3\u6784\u4f4d\u7f6e\u4e00\u4e00\u5bf9\u5e94\u7684\u3002\u5bf9\u4e8estruct\u7684\u8d4b\u503c\u7528\u5230\u4e86\u5143\u80de\u6570\u7ec4\u3002\u6570\u7ec4values1\u3001values2\u7b49\u53ef\u4ee5\u662f\u5143\u80de\u6570\u7ec4\u3001\u6807\u91cf\u5143\u80de\u5355\u5143\u6216\u8005\u5355\u4e2a\u6570\u503c\u3002\u6bcf\u4e2avalues\u7684\u6570\u636e\u88ab\u8d4b\u503c\u7ed9\u76f8\u5e94\u7684field\u5b57\u6bb5\u3002
\u5f53valuesx\u4e3a\u5143\u80de\u6570\u7ec4\u7684\u65f6\u5019\uff0c\u751f\u6210\u7684\u7ed3\u6784\u6570\u7ec4\u7684\u7ef4\u6570\u4e0e\u5143\u80de\u6570\u7ec4\u7684\u7ef4\u6570\u76f8\u540c\u3002\u800c\u5728\u6570\u636e\u4e2d\u4e0d\u5305\u542b\u5143\u80de\u7684\u65f6\u5019\uff0c\u5f97\u5230\u7684\u7ed3\u6784\u6570\u7ec4\u7684\u7ef4\u6570\u662f1\u00d71\u7684\u3002\u4f8b\u5982\uff1a
s = struct('type',{'big','little'},'color',{'blue','red'},'x',{3,4})
s =
1x2 struct array with fields:
type
color
x
\u5f97\u5230\u7ef4\u6570\u4e3a1\u00d72\u7684\u7ed3\u6784\u6570\u7ec4s\uff0c\u5305\u542b\u4e86type\u3001color\u548cx\u51713\u4e2a\u5b57\u6bb5\u3002\u8fd9\u662f\u56e0\u4e3a\u5728struct\u51fd\u6570\u4e2d{'big','little'}\u3001{'blue','red'}\u548c{3,4}\u90fd\u662f1\u00d72\u7684\u5143\u80de\u6570\u7ec4\uff0c\u53ef\u4ee5\u770b\u5230\u4e24\u4e2a\u6570\u636e\u6210\u5206\u5206\u522b\u4e3a\uff1a
s(1,1)
ans =
type: 'big'
color: 'blue'
x: 3
s(1,2)
ans =
type: 'little'
color: 'red'
x: 4
\u76f8\u5e94\u7684\uff0c\u5982\u679c\u5c06struct\u51fd\u6570\u5199\u6210\u4e0b\u9762\u7684\u5f62\u5f0f\uff1a
s = struct('type',{'big';'little'},'color',{'blue';'red'},'x',{3;4})
s =
2x1 struct array with fields:
type
color
x
\u5219\u4f1a\u5f97\u5230\u4e00\u4e2a2\u00d71\u7684\u7ed3\u6784\u6570\u7ec4\u3002
\u4e0b\u9762\u7ed9\u51fa\u5229\u7528struct\u6784\u5efa\u7ed3\u6784\u6570\u7ec4\u7684\u5177\u4f53\u5b9e\u4f8b\u3002
\u3010\u4f8b4.3.1-3\u3011\u5229\u7528\u51fd\u6570struct\uff0c\u5efa\u7acb\u6e29\u5ba4\u7fa4\u7684\u6570\u636e\u5e93\u3002
\uff081\uff09 struct\u9884\u5efa\u7acb\u7a7a\u7ed3\u6784\u6570\u7ec4\u65b9\u6cd5\u4e4b\u4e00
a = cell(2,3); % \u521b\u5efa2\u00d73\u7684\u5143\u80de\u6570\u7ec4
green_house_1=struct('name',a,'volume',a,'parameter',a(1,2))
green_house_1 =
2x3 struct array with fields:
name
volume
parameter
\uff082\uff09struct\u9884\u5efa\u7a7a\u7ed3\u6784\u6570\u7ec4\u65b9\u6cd5\u4e4b\u4e8c
green_house_2=struct('name',a,'volume',[],'parameter',[])
green_house_2 =
2x3 struct array with fields:
name
volume
parameter
\uff083\uff09struct\u9884\u5efa\u7a7a\u7ed3\u6784\u6570\u7ec4\u65b9\u6cd5\u4e4b\u4e09
green_hopuse_3(2,3)=struct('name',[],'volume',[],'parameter',[])
green_hopuse_3 =
2x3 struct array with fields:
name
volume
parameter
\uff084\uff09struct\u521b\u5efa\u7ed3\u6784\u6570\u7ec4\u65b9\u6cd5\u4e4b\u56db
a1={'\u516d\u53f7\u623f'};a2={'3200\u7acb\u65b9\u7c73'};
green_house_4(2,3)=struct('name',a1,'volume',a2,'parameter',[]);
T6=[31.2,30.4,31.6,28.7;29.7,31.1,30.9,29.6]; green_house_4(2,3).parameter.temperature=T6;
green_house_4
ans =
2x3 struct array with fields:
name
volume
parameter

4. 3.2 \u7ed3\u6784\u6570\u7ec4\u7684\u64cd\u4f5c

MATLAB\u4e2d\u4e13\u95e8\u7528\u4e8e\u5bf9\u7ed3\u6784\u6570\u7ec4\u7684\u64cd\u4f5c\u7684\u51fd\u6570\u5e76\u4e0d\u591a\uff0c\u901a\u8fc7 help datatypes\u83b7\u53d6\u6570\u636e\u7c7b\u578b\u5217\u8868\uff0c\u53ef\u4ee5\u770b\u5230\u5176\u4e2d\u7684\u7ed3\u6784\u6570\u636e\u7c7b\u578b\u7684\u6709\u5173\u7684\u51fd\u6570\uff0c\u4e3b\u8981\u5982\u88684.3.1\u6240\u793a\u3002
\u88684.3.1 \u7ed3\u6784\u6570\u7ec4\u7684\u64cd\u4f5c\u51fd\u6570
\u51fd\u6570\u540d \u529f\u80fd\u63cf\u8ff0 \u51fd\u6570\u540d \u529f\u80fd\u63cf\u8ff0
deal \u628a\u8f93\u5165\u5904\u7406\u6210\u8f93\u51fa fieldnames \u83b7\u53d6\u7ed3\u6784\u7684\u5b57\u6bb5\u540d
getfield \u83b7\u53d6\u7ed3\u6784\u4e2d\u6307\u5b9a\u5b57\u6bb5\u7684\u503c rmfield \u5220\u9664\u7ed3\u6784\u7684\u5b57\u6bb5(\u4e0d\u662f\u5b57\u6bb5\u5185\u5bb9)
setfield \u8bbe\u7f6e\u7ed3\u6784\u6570\u7ec4\u4e2d\u6307\u5b9a\u7684\u5b57\u6bb5\u7684\u503c struct \u521b\u5efa\u7ed3\u6784\u6570\u7ec4
struct2cell \u7ed3\u6784\u6570\u7ec4\u8f6c\u5316\u6210\u5143\u80de\u6570\u7ec4 isfield \u5224\u65ad\u662f\u5426\u5b58\u5728\u8be5\u5b57\u6bb5
isstruct \u5224\u65ad\u67d0\u53d8\u91cf\u662f\u5426\u662f\u7ed3\u6784\u7c7b\u578b
\u4e0b\u9762\u4e3e\u4e00\u4e9b\u5177\u4f53\u7684\u4f8b\u5b50\u8bf4\u660e\u5982\u679c\u5bf9\u7ed3\u6784\u6570\u7ec4\u52a0\u4ee5\u64cd\u4f5c\u3002

\u3010\u4f8b4.3.2-1\u3011 \u672c\u4f8b\u76ee\u7684\uff1a\u4e00\uff0c\u6f14\u793a\u51fd\u6570fieldnames , getfield , setfield\u7684\u4f7f\u7528\u65b9\u6cd5\uff1b\u4e8c\uff0c\u8ba9\u8bfb\u8005\u611f\u53d7\u5230\u7ed3\u6784\u6570\u7ec4\u5bf9\u5e94\u7528\u5de5\u5177\u5305\u7684\u5f71\u54cd\uff1b\u4e09\uff0c\u6f14\u793astruct\u51fd\u6570\u628a\u201c\u5bf9\u8c61\u201d\u8f6c\u6362\u4e3a\u7ed3\u6784\u7684\u5e94\u7528\u3002\u672c\u4f8b\u4e3a\u83b7\u5f97\u4e00\u4e2a\u6f14\u7ec3\u7684\u7ed3\u6784\uff0c\u501f\u52a9Toolbox control \u5de5\u5177\u5305\u4e2d\u7684tf\u51fd\u6570\uff0c\u5148\u4ea7\u751f\u4e00\u4e2a\u7528\u4f20\u9012\u51fd\u6570\u63cf\u5199\u7684LTI\u7ebf\u6027\u65f6\u4e0d\u53d82\u8f93\u51652\u8f93\u51fa\u7cfb\u7edf \u3002
\uff081\uff09\u4ea7\u751f2\u8f93\u51652\u8f93\u51fa\u7cfb\u7edf\u7684\u4f20\u9012\u51fd\u6570\u9635\u201c\u5bf9\u8c61\u201d
Stf=tf({3,2;[4 1],1},{[1 3 2],[1 1 1];[1 2 2 1],[1 0]})

Transfer function from input 1 to output...
3
#1: -------------
s^2 + 3 s + 2

4 s + 1
#2: ---------------------
s^3 + 2 s^2 + 2 s + 1
Transfer function from input 2 to output...
2
#1: -----------
s^2 + s + 1
1
#2: -
s
\uff082\uff09\u4e3a\u672c\u4f8b\u6f14\u793a\uff0c\u628a\u4e0a\u8ff0\u7684LTI\u5bf9\u8c61Stf\u8f6c\u6362\u4e3a\u7ed3\u6784
SSTF=struct(Stf) % \u628a\u5bf9\u8c61\u8f6c\u6362\u6210\u7ed3\u6784\uff0c\u5e76\u663e\u793a\u7ed3\u6784\u7684\u7ec4\u6210
SSTF =
num: {2x2 cell}
den: {2x2 cell}
Variable: 's'
lti: [1x1 lti]
\uff083\uff09\u83b7\u5f97\u7ed3\u6784\u6570\u7ec4SSTF\u7684\u57df\u540d
FN=fieldnames(SSTF) % \u83b7\u5f97\u57df\u540d\u5143\u80de\u6570\u7ec4FN
class(FN) % \u68c0\u67e5FN\u7684\u7c7b\u522b
FN =
'num'
'den'
'Variable'
'lti'
ans =
cell
\uff084\uff09\u83b7\u53d6SSTF.den(2,1)\u57df\u7684\u5185\u5bb9
FC=getfield(SSTF,'den',{2,1}) % \u76f8\u5f53\u4e8eFC=SSFT.den(2,1)
FC{1} % \u4e0ecelldisp(FC)\u7684\u4f5c\u7528\u5927\u81f4\u76f8\u5f53
poly2str(FC{1},'s'), % \u4e3a\u4e86\u628a\u591a\u9879\u5f0f\u663e\u793a\u6210\u4e60\u60ef\u7684\u5f62\u5f0f
FC =
[1x4 double]
ans =
1 2 2 1
ans =
s^3 + 2 s^2 + 2 s + 1
\uff085\uff09\u91cd\u65b0\u8bbe\u7f6eSSTF.num(2,1)\u57df\u7684\u5185\u5bb9
SSTF.num{2,1} % \u663e\u793a\u539f\u59cb\u60c5\u51b5
SSTF=setfield(SSTF,'num',{2,1},{[1 3 1]}); % \u6ce8\u610f\u201c\u82b1\u62ec\u53f7\u201d\u7684\u4f7f\u7528
SSTF.num{2,1} % \u663e\u793a\u88ab\u91cd\u65b0\u8bbe\u7f6e\u540e\u7684\u60c5\u51b5
ans =
0 0 4 1
ans =
1 3 1

\u3010\u4f8b4.3.2-2\u3011\u672c\u4f8b\u6f14\u793a\u7ed3\u6784\u6570\u7ec4SSTF\u7684\u6269\u5145\u548c\u6536\u7f29\u3002\uff08\u672c\u4f8b\u4ee5\u4f8b4.3.2-1\u7684\u8fd0\u884c\u4e3a\u57fa\u7840\u3002\uff09
\uff081\uff09\u539f\u7ed3\u6784\u662f\u4e00\u4e2a\u201c\u5355\u7ed3\u6784\u201d
size(SSTF)
ans =
1 1
\uff082\uff09\u6f14\u793a\u7ed3\u6784\u7684\u6269\u5145
SSTF(2,2)=struct(tf(1,[1 1])) % \u628a1/(s+1)\u653e\u5728\u7b2c2\u884c\u7b2c2\u5217\u7ed3\u6784\u4e2d
size(SSTF)
SSTF =
2x2 struct array with fields:
num
den
Variable
lti
ans =
2 2
\uff083\uff09\u6f14\u793a\u7ed3\u6784\u6570\u7ec4\u7684\u6536\u7f29\uff1a\u5220\u9664\u7ed3\u6784\u6570\u7ec4\u7684\u7b2c1\u884c
SSTF(1,=[] % \u6536\u7f29\u6210\u4e3a \u7684\u7ed3\u6784
S22n=SSTF(1,2).num,S22d=SSTF(1,2).den % \u53d6\u51fa\u7b2c2\u7ed3\u6784num\u57df\u548cden\u57df\u7684\u5185\u5bb9
printsys(S22n{1},S22d{1}) % \u663e\u793a\u6210\u4e60\u60ef\u7684\u8868\u8fbe\u5f62\u5f0f
SSTF =
1x2 struct array with fields:
num
den
Variable
lti
S22n =
[1x2 double]
S22d =
[1x2 double]
num/den =
1
-----
s + 1

\u9996\u5148\u4f60\u7684\u5faa\u73af\u7684\u5224\u65adp<str.length\uff0cC\u8bed\u8a00\u4e2d\u8fd9\u6837\u662f\u83b7\u53d6\u4e0d\u5230\u957f\u5ea6\u7684\uff0c\u4f60\u53ef\u4ee5\u8bd5\u8bd5p<sizeof(str)/sizeof(str[0]);

\u8f93\u51fa\u8bed\u53e5\u6539\u6210 printf("%s,%d", str[i].ch, str[i].length);\u5c31\u53ef\u4ee5\u8f93\u51fa\u4e86
typedef struct{ char *ch; int length;} Str;int main() { Str str[2] = {{"ab",1},{"cd",2}}; for(int p=0;p<sizeof(str)/sizeof(str[0]);p++){ printf("%s,%d\n",str[p].ch,str[p].length); } return 0;}

可以直接访问输出,比如:
%
By
lyqmath
%
matlab
中结构体的元素中有数组,那么结构体的数组中的元素如何输出?
clc;
clear
all;
close
all;
st.info
=
'结构体';
st.data
=
[1
2
3;
4
5
6];
st
st.data
结果
st
=

info:
'结构体'

data:
[2x3
double]
ans
=

1
2
3

4
5
6
>>

我也运行了下,全是6
也不太清楚是怎么回事
不过我想如果不是题目有问题的话那应是D比C更好一些
因为C和D中的运算符优先级是这样的:C中最高的是成员访问符然后才是括号然后是前自增然后是解引用,编译器应该是把括号认为是最高优先级的了,括号内算完后再算外边的,因为如果严格按照优先级的话最先的应该是.可是在括号没运算出来前.是无效的,所以说C编译的结果理论上不准确吧,D就很中规中矩的答案了。
个人感觉题目有问题的可能大一点,毕竟如果说学C++的理论无法用于实践学着也没用哈,所以实践更重要一些。
如果强要说只有D是对的话只有那一个解释了
参考书上是找到优先级的地方

扩展阅读:matlab提取特定元素 ... matlab怎么创建结构体 ... matlab怎么写结构体 ... matlab如何创建结构数组 ... matlab中结构体使用方法 ... matlab 重复元素 位置 ... matlab提取列全部元素 ... matlab结构体转化为数组 ... matlab全下标取出元素 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网