Xin chào và chào mừng. Chúng tôi đang ở trong một phần mới.
Chúng ta sẽ nói về cấu trúc.
Đây là một khái niệm mới trong c cho phép bạn
nhóm các mục lại với nhau, tương tự như mảng nhưng mạnh hơn.
Tôi muốn nói về cấu trúc là gì, cách bạn có thể tạo và cách bạn
có thể sử dụng cấu trúc.
Vì vậy, các cấu trúc trong c cung cấp một công cụ khác để nhóm các phần tử lại với nhau.
Một lần nữa, tôi đã đề cập rằng chúng tương tự như một mảng, nhưng chúng thực sự mạnh hơn một chút.
Nếu bạn đã quen thuộc với lập trình
hướng đối tượng, nếu bạn lập trình bằng java hoặc c-plus
plus hoặc bất kỳ ngôn ngữ hướng đối tượng nào, thì nó giống như một
đối tượng nhưng chỉ với các thành viên dữ liệu, không có hành vi thực tế, không có phương thức.
Vì vậy, đó là một khái niệm mạnh
mẽ mà bạn sẽ sử dụng trong nhiều chương trình c mà bạn phát
triển bởi vì bạn có thể nhóm các mục khác nhau lại với nhau trong một
tên duy nhất và chúng có thể đại diện cho các thuộc tính dữ liệu về cơ bản.
Vì vậy, ví dụ, giả sử bạn muốn lưu trữ một ngày bên trong một chương trình.
Ngày thường bao gồm ba biến: tháng, ngày và năm.
Bạn sẽ tạo ba biến đó để lưu trữ dữ liệu đó.
Ví dụ, bạn nói int tháng bằng 9 ngày bằng 25
năm bằng 2015.
Giả sử chương trình của bạn cũng cần lưu trữ ngày mua một mặt hàng cụ thể.
Chà, bạn có thể phải tạo thêm ba biến cho mỗi ngày mà
bạn sử dụng trong chương trình của mình. Vì vậy, bạn có thể thấy điều này có thể
lặp đi lặp lại như thế nào và cuối cùng bạn sẽ tạo ra rất nhiều biến.
Nhưng những gì bạn nên chú ý là các biến này có liên quan với nhau về mặt logic. Tất cả đều là ngày.
Chúng thực sự nên được nhóm lại với nhau.
Chúng gần như phải là kiểu dữ liệu của riêng chúng và sau đó bạn sẽ có thể tạo chúng
và truy cập các phần tử khác nhau.
Bạn không cần phải tạo ba biến riêng biệt cho mỗi ngày.
Vì vậy, một lần nữa đây là nơi nó liên quan đến các đối
tượng và một lớp có ba thuộc tính dữ liệu.
Vì vậy, sẽ tốt hơn nhiều nếu bằng cách nào đó bạn có thể nhóm các bộ ba biến này lại với nhau.
Và đây chính xác là những gì phần tử cấu trúc làm và c.
Nó cho phép bạn nhóm các phần tử khác nhau này lại với nhau bằng một tên cụ thể.
Sau đó, bạn có thể tạo các biến khác nhau của tên đó
và truy cập các phần tử trong tên
đó, các thuộc tính dữ liệu khác nhau, chúng thực sự được gọi là thành viên.
Vì vậy, làm thế nào để bạn tạo một cấu trúc trong c.
Nó rất đơn giản. Khai báo cấu trúc mô tả cách một cấu trúc được ghép lại với nhau.
Những yếu tố nào bên trong cấu trúc.
Và chúng tôi thường gọi những thành phần này là thành viên.
Bởi vì trước tiên bạn phải xác định cấu trúc hoặc khai báo cấu
trúc, mô tả những gì bên trong cấu trúc.
Và vì vậy bạn có thể làm điều đó với từ khóa struct.
Từ khóa struct cho phép bạn xác định một tập hợp các
biến thuộc nhiều loại khác nhau được gọi là cấu trúc mà bạn có thể coi như một đơn vị duy nhất.
Rất, rất mạnh mẽ.
Vì vậy, bằng cách sử dụng từ khóa struct này, tất cả những gì bạn phải làm là
cung cấp tên và điều này thường được gọi là tên thẻ. Trong ví dụ này, chúng tôi có một thẻ tên ngày.
Nhưng bạn thấy từ khóa struct, đó là từ khóa cho trình biên dịch
c biết rằng đây sẽ là một hàm cụ thể.
Điều này có thể có chức năng cụ thể cho phép bạn nhóm các phần tử.
Vì vậy, struct là từ khóa được theo sau bởi tên thẻ
và sau đó bạn có dấu ngoặc nhọn bên trái và
dấu ngoặc nhọn bên phải theo sau là dấu chấm phẩy để kết thúc.
Và bên trong đó, bạn có thể xác định bất kỳ loại biến nào bạn muốn, thậm chí bạn có thể đặt con trỏ vào đó.
Và chúng được gọi là các thành viên của cấu trúc.
Vì vậy, đây là câu lệnh một lần nữa nó xác định cấu trúc
ngày mà trình biên dịch c sẽ hiểu.
Nó cho trình biên dịch c biết cấu trúc trạng thái
sẽ chứa ba phần tử:
tháng, ngày và năm. Không có cấp phát bộ nhớ cho khai báo này.
Một lần nữa, những gì bạn đang nói là đây là một cấu trúc tồn tại.
Tôi vẫn chưa bắt đầu sử dụng nó. Tôi chỉ nói đây là cách nó sẽ được xác định.
Đây sẽ là cấu trúc ngày và đây là những gì nó bao gồm.
Các tên biến trong cấu trúc ngày, tháng, ngày và năm, chúng
được gọi là thành viên hoặc trường.
Các thành viên của cấu trúc xuất hiện giữa các
dấu ngoặc nhọn theo ngày tên của thẻ struct, do đó, ngày của tên thẻ.
Cú pháp rất, rất đơn giản để nhóm các phần tử này lại với nhau bên trong một tên duy nhất là ngày.
Và bạn nhận thấy nó khác với một mảng vì không
có chỉ số, bạn không thực sự chỉ định kích thước.
Nó không phải là cùng một kiểu dữ liệu.
Bạn có thể có các kiểu dữ liệu khác nhau và bạn có thể có nhiều kiểu dữ liệu khác nhau.
Vì vậy, làm thế nào bạn sẽ sử dụng cấu trúc này.
Vâng, định nghĩa ngày xác định một kiểu mới trong ngôn ngữ.
Bạn thực sự có thể nghĩ về nó như một kiểu khác giống như int, double hoặc float.
Ngoại trừ loại bạn đã xác định, bạn gần như có thể coi nó như một enum.
Ngoại trừ một enum chỉ giữ một giá trị.
Cấu trúc ngày này có thể chứa ba giá trị nhưng nó là một kiểu dữ liệu khác.
Các biến bây giờ có thể được khai báo là kiểu struct cho đến nay.
Vì vậy, đó chính xác là những gì bạn sẽ làm.
Bạn có thể tạo một biến mới được gọi là ngày hôm
nay và nó sẽ là loại kiểu cấu trúc ngày.
Và ngày nay về cơ bản sẽ có thể giữ ba giá trị.
Và sau đó nếu bạn cần khai báo thêm
ngày tháng, bạn có thể tạo thêm các biến cùng kiểu đó.
Và do đó, bạn không còn cần phải có ba biến riêng biệt cho ngày
mua, ba biến riêng biệt cho ngày
hiện tại, ba biến riêng biệt cho ngày thanh toán.
Bạn có thể có một hoặc
hai biến thuộc các trường hợp khác nhau của cấu trúc thực tế đó.
Một lần nữa, hy vọng bạn nhận thấy điều này có thể mạnh mẽ như thế nào.
Vì vậy, câu lệnh trên có kiểu cấu trúc ngày,
ngày mua.
Bộ nhớ bây giờ đã được cấp phát vì bạn đã khai báo biến
Bộ nhớ được cấp phát cho cấu trúc này.
Bộ nhớ được cấp phát cho ba giá trị số nguyên hoặc ba phần
tử của mỗi biến, do
đó bộ nhớ sẽ được cấp phát.
Và cũng là lý do nó sẽ được phân bổ là vì không có con trỏ nào trong đó.
Nếu có con trỏ trong cấu trúc đó, bạn sẽ phải cấp phát bộ nhớ cho con trỏ đó.
Nhưng vì cấu trúc ngày hôm nay này nên cấu trúc rất đơn giản, tôi
bắt đầu chậm, nó chứa ba int, những thành viên đó được tự động phân bổ cho bạn.
Nhưng hãy đảm bảo rằng bạn hiểu sự phân biệt này với trang trình bày trước và trang trình bày hiện tại này.
Có sự khác biệt giữa việc xác định cấu trúc và khai báo các biến của
kiểu cấu trúc cụ thể đó.
Cấu trúc tài chính một lần nữa chỉ nói với trình biên dịch c đây
là một cấu trúc và đây - đây là dữ liệu bên trong nó.
Nhưng thực sự việc khai báo một biến của kiểu cấu trúc cụ thể đó
đang nói rằng tôi sẽ bắt đầu sử dụng cấu trúc đó.
Bây giờ tôi đã cấp phát bộ nhớ cho ba phần tử trong ví dụ của chúng tôi và
tôi có thể truy cập các phần tử đó và thiết lập chúng.
Vì vậy, làm thế nào để bạn truy cập các thành viên trong một cấu trúc?
Vì vậy, bây giờ bạn đã biết cách xác định một cấu
trúc và bây giờ bạn biết cách khai báo các biến
cấu trúc, bây giờ bạn cần phải hiểu cách tham chiếu đến các thành viên đó của struct.
Bạn phải truy cập chúng. Nếu bạn không thể truy cập chúng để xem các giá trị hoặc giá trị đặt, thì điều đó sẽ vô ích.
Vì vậy, một tên biến cấu trúc không phải là một con trỏ.
Vì vậy, bạn cần một cú pháp đặc biệt để truy cập vào thành viên.
Bởi vì con trỏ thường chỉ chứa giá trị của một
địa chỉ.
Và nếu nó không phải là một con trỏ, thì bạn sẽ cần một số cú pháp đặc biệt.
Bạn có thể tham chiếu đến một thành viên của cấu trúc bằng cách viết tên biến theo sau là dấu chấm.
Nó thường được gọi giống như toán tử dấu chấm.
Và sau khoảng thời gian toán tử dấu
chấm đó, bạn theo dõi tên của biến thành viên bên trong cấu trúc đó.
Khoảng thời gian giữa tên biến cấu
trúc và tên thành viên được gọi là toán tử chọn thành
viên, còn được gọi là toán tử dấu chấm.
Không được phép có khoảng trắng giữa tên biến, dấu chấm và tên thành viên.
Để đặt giá trị của ngày trong biến hôm nay thành 25, tôi
chỉ cần làm như thế này. Tên của biến ngày nay, và sau
đó tôi sẽ nói là dấu chấm, không có khoảng trắng ở giữa hai bên.
Và sau đó tôi sẽ chỉ định tên của phần tử bên trong định nghĩa cấu
trúc, đó là ngày.
Và sau đó tôi sẽ gán nó giống như tôi gán bất kỳ số nguyên nào khác.
Tôi sẽ sử dụng toán tử
gán bằng, một hằng số ở đây và dấu chấm phẩy.
Rất, rất đơn giản. Nếu tôi muốn ấn định
năm, tôi sẽ nói hôm nay. năm và tôi sẽ nói năm 2015 bằng nhau chẳng hạn.
Và khi tôi muốn truy cập các giá trị thành viên.
Ví dụ: nếu tôi muốn truy cập giá trị thành viên của tháng để xem nó có bằng 12 hay không, tôi
vẫn sử dụng cú pháp dấu chấm đó, toán tử lựa chọn thành viên đó.
Vì vậy, bạn có thể sử dụng toán tử lựa chọn thành viên để truy cập các giá trị thành viên.
Và khi bạn truy cập các biến
thành viên đó, bạn có thể sử dụng chúng giống như sử dụng các biến khác.
Bạn có thể sử dụng chúng trong các phép toán số học nếu chúng là int.
Bạn sẽ tuân theo các quy tắc của kiểu dữ liệu đó.
Vì vậy, trong trường hợp này, chúng ta thực sự có thể so sánh nó thành 12
chỉ bằng cách sử dụng các dấu bằng bằng bên trong câu lệnh if.
Và sau đó, ví dụ, nếu nó bằng 12, chúng ta có thể nói tháng tới bằng 1.
Đó có thể là một biến cục bộ mà chúng tôi sẽ gán.
Vì vậy, chúng ta hãy xem xét một ví dụ. Ở đây chúng tôi đang xác định một cấu trúc được gọi là ngày.
Chúng ta có ba phần tử, số nguyên: tháng, ngày và năm.
Chúng tôi biết rằng chúng tôi đang định nghĩa nó bởi vì chúng tôi có từ khóa struct và chúng tôi có những dấu ngoặc nhọn đó.
Và sau đó cũng lưu ý rằng dấu ngoặc nhọn bên phải có dấu chấm phẩy để kết thúc định nghĩa.
Tại thời điểm này, không có bộ nhớ nào được cấp phát cho cấu trúc này.
Trong dòng tiếp theo, chúng ta thực sự khai báo một biến kiểu
đó, vì vậy hôm nay chúng ta cấp phát bộ nhớ cho một tên biến hôm
nay có chứa ba phần tử về cơ bản: tháng, ngày và năm kiểu int.
Chúng ta có thể gán dữ liệu cho ba phần tử bên trong cấu trúc đó ngay hôm nay
chỉ bằng cách sử dụng quyền truy cập thành viên dấu chấm đó.
Vì vậy, ngày hôm nay. tháng bằng chín, hôm nay. ngày bằng 25 và hôm nay. năm 2015.
Nếu sau đó chúng tôi muốn in nó hoặc truy cập dữ liệu đó, chúng tôi sẽ truy cập nó theo cách tương tự sau
khi chúng tôi đã gán nó. Chúng tôi sẽ chỉ sử dụng lựa chọn thành viên đó: ngày hôm nay. tháng, ngày hôm nay. ngày
qua ngày. năm. Và một lần nữa, chúng ta có thể thực hiện các phép toán số học trên nó vì nó là một số nguyên.
Chúng tôi sẽ sử dụng phần trăm d hoặc nếu chúng tôi muốn định dạng nó
thành 2, chúng tôi có thể nói phần trăm 2I hoặc phần trăm 2D.
Vì vậy, đây là cú pháp khá đơn giản,
rất dễ tạo và xác định cấu trúc, sau đó sử dụng chúng và sau
đó truy cập chúng bằng toán tử lựa chọn thành viên dấu chấm.
Làm thế nào về cấu trúc và biểu thức?
Chà, bạn vừa thấy rằng tôi có thể truy cập dữ liệu và sử dụng một biểu thức số học
và nó không khác gì.
Khi nói đến việc đánh giá biểu thức, các
thành viên cấu trúc tuân theo các quy tắc giống như các biến thông thường.
Nếu bạn có các thành viên bên trong cấu trúc đó là các số nguyên, bạn có thể thực hiện
các quy tắc tương tự với bất kỳ số nguyên nào khác.
Bạn có thể áp dụng các phép cộng, trừ, v.v. Nếu đó là bộ đệm ký tự, bạn chỉ có thể
thực hiện các quy tắc của bộ đệm ký tự. Bạn có thể thêm và trừ bộ đệm ký
tự, những thứ như vậy, thường là không.
Vì vậy, float, double, tất cả các kiểu dữ liệu khác nhau, bạn
sẽ chỉ tuân theo các quy tắc tương tự khi bạn sử dụng các thành viên đó bên trong các biểu thức.
Vì vậy, đây là một ví dụ.
Tôi nói hôm nay. năm chia cho một trăm cộng một.
Hoàn toàn hợp lệ vì year là một số nguyên,
không khác gì so với việc sử dụng một biến thông thường kiểu int.
Bạn chỉ cần truy cập nó theo cách khác bằng cách sử dụng toán tử lựa chọn thành viên đó.
Bây giờ có nhiều biến thể. Có nhiều cách khác nhau để xác định cấu trúc.
Một điều tuyệt vời về c là tính linh hoạt của nó và c cho
phép bạn xác định một cấu trúc theo nhiều cách khác nhau. Vì vậy, bạn có thể thấy cú
pháp khác nhau khi bạn xác định một cấu trúc.
Ví dụ đầu tiên mà tôi đã cho bạn thấy thực sự là một trong những ví dụ bạn nên làm theo. Bạn phải luôn có một tên thẻ và bạn
nên xác định cấu trúc ở một vị trí trong mã của mình và sau đó khai báo các biến
của nó ở một vị trí khác. Nhưng hiện tại,
nó rất linh hoạt. Bạn thực sự có thể xác định cấu trúc và khai báo các biến trong cùng một dòng.
Và bạn cũng có thể xác định cấu trúc ẩn danh hoặc cấu trúc không có tên.
Vì vậy, có rất nhiều sự linh hoạt. Việc khai báo một biến là một phần
của cấu trúc cụ thể đồng thời với việc bạn đang thực sự xác định cấu trúc là hợp lệ.
Bạn có thể đặt tên của biến ở dưới cùng. Tôi sẽ chỉ cho bạn cách làm điều đó.
Bao gồm tên biến hoặc các tên trước dấu chấm phẩy kết thúc của định nghĩa cấu trúc.
Và bạn cũng có thể gán và khởi tạo giá trị cho các biến đó theo cách
thông thường mà bạn gán bất kỳ biến nào. Vì vậy, chúng ta hãy nhìn vào điều đó.
Một biến thể của việc xác định một cấu trúc thực hiện nó cùng lúc khi bạn đang định nghĩa nó,
bạn có thể khai báo một biến. Vì vậy, trong trường hợp này, chúng
tôi đã xác định ngày cấu trúc của mình, nhưng chúng tôi cũng tạo một biến có tên là hôm nay.
Bởi vì ở cuối dấu ngoặc nhọn bên phải là tên trước dấu chấm phẩy,
điều đó đang thực hiện cả việc tạo biến kiểu ngày struct và định nghĩa ngày struct.
Vì vậy, trong trường hợp trên, bạn đang tạo
một biến của cấu trúc.
Chúng tôi coi đó cũng là một ví dụ của cấu trúc. Nó được gọi là ngày hôm nay.
Nó được khai báo cùng lúc với cấu trúc được định nghĩa.
Vì vậy, hôm nay là một biến của kiểu ngày, chúng tôi đã làm tất cả trong một.
Và bạn có thể thực sự ngay sau khi
thực hiện ngày hôm nay, bạn thực sự có thể khởi
tạo các biến đó bằng cách
sử dụng dấu ngoặc và sau đó nói tháng bằng năm, ngày bằng, v.v., giống
như bạn khởi tạo bất kỳ số nguyên nào khác.
Bây giờ một cách khác để bạn có thể tạo một cấu trúc là bạn
có thể tạo một cấu trúc không tên. Điều này hạn chế hơn một chút vì
bạn không thể làm gì nhiều với nó.
Nhưng bạn không thực sự phải cung cấp tên thẻ.
Hãy nhớ rằng tên thẻ ở trên cùng, ngay sau từ khóa struct.
Trong các ví dụ trước, tên thẻ là ngày tháng.
Nhưng bạn không cần phải cung cấp ngày đó.
Nếu tất cả các biến của một kiểu cấu trúc cụ thể được xác định khi cấu trúc được định
nghĩa, thì tên có thể được bỏ qua.
Và điều này thực sự có nghĩa là bạn sẽ chỉ sử dụng cấu trúc
này một lần và một lần duy nhất.
Vì vậy, chúng ta chỉ có
thể nói struct int day, int year, int month
và sau đó khai báo biến tương tự.
Nhưng bạn sẽ nhận thấy không có tên thẻ nào ở đó sau từ khóa struct.
Đây chỉ là một cấu trúc. Chúng ta sẽ sử dụng một lần, vì
vậy chúng ta tạo biến ngày hôm nay và sau đó chúng ta sẽ không bao giờ sử dụng nó nữa.
Và đó thực sự là nhược điểm và hạn chế của nó.
Bạn thực sự không bao giờ muốn làm điều này trừ khi bạn có một số loại cấu trúc cục bộ mà bạn sử dụng một lần.
Nhưng bạn không thể xác định thêm các trường hợp này nếu bạn
định nghĩa cấu trúc theo cách này
là cấu trúc không có tên, cấu trúc không có tên.
Tất cả các biến của kiểu cấu trúc này mà bạn muốn chương trình của mình phải được xác định trong một câu lệnh.
Bạn có thể tạo nhiều hơn một biến, bạn có thể thực hiện dấu phẩy hôm nay
và sau đó là một biến khác để bạn có thể tạo nhiều biến.
Bạn có thể khởi tạo nhiều biến.
Nhưng cách này hơi hạn chế vì sau phần khai
báo biến đó ở phía dưới, bạn không thể tạo thêm biến nữa.
Vì vậy, có ba cách để xác định các cấu trúc khác nhau.
Một cách là xác định cấu trúc bằng tên
thẻ và không tạo biến. Bạn tạo biến trong một trường hợp riêng biệt khi bộ nhớ được cấp phát.
Một cách khác là tạo biến và cấu trúc, đồng thời
nơi bạn sẽ có tên thẻ và điều đó sẽ
cho phép bạn tạo các phiên bản
khác hoặc các biến khác của loại cấu trúc đó sau này trong chương trình của
bạn hoặc tùy chọn thứ ba này, nơi bạn có thể tạo một cấu
trúc không tên không có
tên và chỉ có biến ở dưới cùng. Và một lần nữa, bạn có thể khởi tạo tất cả
những điều này bất cứ khi nào bạn tạo các biến chỉ bằng cách sử dụng dấu ngoặc nhọn, v.v.
Vì vậy, bây giờ khởi tạo các cấu trúc.
Khởi tạo cấu trúc rất giống với khởi tạo mảng.
Các phần tử được liệt kê bên trong một cặp dấu ngoặc nhọn
với mỗi phần tử được phân tách bằng dấu phẩy.
Không có công cụ mới để tìm hiểu ở đây thực sự.
Các giá trị ban đầu được liệt kê bên trong dấu ngoặc nhọn phải là biểu thức hằng.
Bạn không thể sử dụng các biến, trông giống như một mảng.
Ở đây, chúng tôi đang tạo một biến hôm nay của
kiểu struct date và chúng tôi đang nói rằng thành viên đầu tiên
bằng bảy, thành viên thứ hai là hai và thứ ba là năm 2015, tương ứng với
ngày tháng trong năm vì đó là thứ tự về
cách chúng được xác định trong cấu trúc.
Vì vậy, giống như khởi tạo mảng, có
thể liệt kê ít giá trị hơn giá trị được chứa trong cấu trúc.
Bạn không cần phải cung cấp cả ba, bạn chỉ có
thể cung cấp hai và điều đó sẽ khởi tạo tháng và ngày
và nó sẽ không khởi tạo năm.
Vì vậy, điều này sẽ thiết lập ngày. một. tháng
đến ngày 121. ngày đến ngày 10, nhưng nó không mang lại giá trị ban đầu cho đến nay. năm.
Bạn cũng có thể chỉ định tên thành viên trong danh sách khởi tạo theo cách này, bạn không
cần phải thực sự có bất kỳ thứ tự nào.
Bạn có thể đặt chúng theo bất kỳ thứ tự nào bạn muốn và bạn không phụ thuộc vào điều đó.
Vì vậy, bạn có thể làm một cái gì đó như thế nào. thành viên bằng giá
trị và ngày cấu trúc, ngày một. Bạn có thể nói tháng chấm bằng 12.
Vì vậy, cú pháp ban đầu của điều này là đặt thành viên
bên trong dấu ngoặc nhọn với dấu chấm và sau đó chỉ cần gán giá trị,
tháng dấu chấm bằng 12 dấu phẩy ngày bằng 10.
Bạn cần dấu chấm đó. Dấu chấm đó rất quan trọng nên đừng quên dấu chấm đó.
Bạn không cần trường hợp trước dấu chấm.
Vì vậy, đây sẽ chỉ là thiết lập thành viên năm của
biến cấu trúc ngày hôm nay thành 2015 trong ví
dụ tiếp theo này.
Vì vậy, ở đây chúng tôi chỉ nói vì hãy nhớ rằng bạn có thể
bỏ qua một số biến thành viên khác. Và trong trường hợp này, chúng tôi đang
thừa nhận tháng trong ngày, vì vậy chúng tôi sẽ đặt năm là 2015.
Trong trường hợp trước, chúng tôi thực sự đã bỏ
qua năm và chỉ đặt tháng và ngày tương ứng là 12 và 10.
Chúng ta cũng có thể thực hiện phép gán với các chữ ghép.
Chà, đó chính xác là một từ ghép.
Bạn có thể gán một hoặc nhiều giá trị cho một cấu trúc trong một câu lệnh
đơn lẻ bằng cách sử dụng cái được gọi là một chữ ghép.
Tôi tin rằng điều này có thể chỉ có trong C11.
Nhưng ở đây chúng ta có
ngày hôm nay, hãy giả sử rằng chúng ta đã tạo một biến struct date
today, và sau đó chúng ta thực sự đặt bên trong dấu ngoặc đơn struct date.
Và bên trong dấu ngoặc nhọn, chúng ta đang nói 9 dấu phẩy 25 dấu phẩy 2015.
Và đây là một từ ghép.
Câu lệnh này có thể xuất hiện ở bất kỳ đâu trong chương trình.
Vì vậy, trái ngược với việc thực sự khởi tạo hoặc gán giá trị bằng cách sử dụng thành viên dấu
chấm, bạn có thể đặt nó ở bất kỳ đâu trong chương trình sau khi bạn đã thực sự khởi
tạo cấu trúc ngày hôm nay. Nó không phải là một tuyên bố tuyên bố.
Đây là một phép gán ghép theo nghĩa đen.
Toán tử typecast được sử dụng để cho trình biên dịch biết kiểu của biểu thức.
Vì vậy, bạn cần những thứ đó trong ngoặc đơn đó là ngày cast, struct.
Danh sách các giá trị theo sau quá trình ép
kiểu và sẽ được gán cho các thành viên của cấu trúc theo thứ tự đó, nó phụ thuộc vào thứ tự.
Vì vậy, nó được liệt kê theo cách giống như khi bạn đang khởi tạo một biến cấu trúc.
Một lần nữa, lợi thế của điều
này là bạn không phải chỉ định từng biến thành viên riêng lẻ trên các dòng riêng biệt.
Bạn có thể thực hiện tất cả trong một dòng và nói không sao, đây là giá trị mới
cho biến này ngày hôm nay.
Bạn cũng có thể chỉ định các giá trị bằng cách sử dụng ký hiệu thành viên dấu chấm như tôi đã đề cập.
Bạn sẽ chỉ phải làm điều đó trong một dòng như thế
này hoặc trên các dòng riêng biệt. Và theo cách này, nó giống như khởi tạo, nhưng
bạn vẫn đang thực hiện các ký tự ghép.
Ưu điểm của việc sử dụng cách tiếp cận này là các đối số có thể xuất hiện theo bất
kỳ thứ tự nào, giống như trước đây.
Một lần nữa, điểm mấu chốt và sự khác biệt của các phép gán này là
nó không xảy ra trong quá trình khởi tạo mà
bạn đang thực hiện ở một nơi khác trong chương trình để gán các giá trị mới cho kiểu đó.
Vì vậy, rất nhiều thông tin tốt trong bài giảng này.
Chúng ta đã nói về cấu trúc và mức độ mạnh mẽ của chúng cũng như cách chúng ta có thể
nhóm, các phần tử khác nhau hoặc các biến khác nhau thành một tên duy nhất.
Chúng tôi xác định cấu trúc đó. Có nhiều cách khác nhau để xác định một cấu trúc.
Và sau đó chúng ta cũng cần khai báo một biến.
Khi đã có biến đó, chúng ta có thể
truy cập, gán dữ liệu cho cấu trúc đó bằng toán tử lựa chọn thành viên dấu chấm.
Và sau đó chúng ta cũng thảo luận về một số ký
hiệu khác nhau và các cách khác nhau để hoạt động cũng như khởi tạo.
Chúng ta sẽ sử dụng các cấu trúc một chút.
Tôi sẽ có một vài thử thách sẽ giúp bạn làm quen với cú pháp này.
Nhưng đây mới chỉ là bước khởi đầu của cấu trúc. Chúng ta cũng phải nói
về cấu trúc lồng nhau, cách bạn có thể sử dụng con trỏ
và cấu trúc và những thứ tương tự.
Vì vậy, chúc may mắn, đây sẽ là một phần vui vẻ và thú vị. Cảm ơn bạn.