c ++ [duplicate] "struct * struct newStruct (int somedata) {}" sözdizimi nedir
Nov 16 2020
C ++ 'da bir ağaç yapmaya çalışıyordum ve gerçekten kafamı karıştıran bu kodla karşılaştım.
struct node
{
int data;
struct node* left;
struct node* right;
};
// The code bellow this is the part i dont understand
struct node* newNode(int idata)
{
node* node = new struct node;
node->data = idata;
node->left = NULL;
node->right = NULL;
return node;
}
nedir struct node*? Bir tür yapı ama bir işaretçi? Ayrıca yapıların ;sonunda olmamalı mı? Örneğin, nodesahip ;gövdenin ucunda değil node*?
Yanıtlar
1 nvjsingh Nov 16 2020 at 03:43
struct node*işlevin dönüş türüdür newNode()ve kendi başına bir tanım değildir. Bahsettiğiniz satır, fonksiyonun imzasıdır newNode. Bunu, iki kaşlı ayraç {} arasındaki işlev tanımı izler. Bir fonksiyon tanımının ;sonunda a'ya ihtiyacı yoktur .
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'