मैं इस तरह कोड लिख रहा हूँ:क्या पीआरटी = फ्री (पीआरटी) है, नल सुरक्षित है?
#include <stdlib.h>
int main(void)
{
void *kilobyte;
kilobyte = malloc(1024);
kilobyte = NULL, free(kilobyte);
return 0;
}
समरूपता, जो अच्छा है के लिए
। लेकिन मैं किसी और से पहले यह मुहावरा का उपयोग कर कभी नहीं देखा है, तो मुझे आश्चर्य है अगर यह वास्तव में unportable/असुरक्षित हो सकता है, इस Wikipedia बोली के बावजूद:
In the C and C++ programming languages, the comma operator (represented by the token ,) is a binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type).
संपादित करें: आदेश को मिलाया। अब यह किसी भी चेतावनी के बिना gcc
पर संकलित करता है।
'फ्री' कोई मान वापस नहीं करता है, इस प्रकार रेखा खराब शैली है। कोड भी कम टाइपिंग नहीं है, मानक विचारधारा का उपयोग करें। – Olaf
AFAIK, अल्पविराम ऑपरेटर 'मुक्त' मान को छोड़ देता है, जो 'शून्य' है, और इसके बजाय 'NULL' का उपयोग करता है। और यह ** ** कम टाइपिंग है यदि आपकी शैली लगातार उन्हें मुक्त करने के बाद पॉइंटर्स को एनयूएलएल असाइन करती है। –
त्यागने के लिए कोई मूल्य नहीं है! क्या आप पूछने से पहले संकलित करने की कोशिश की? क्या आपको मानक में प्रमाण मिलता है कि यह कानूनी या अवैध है? कृपया अनुभाग उद्धृत करें। (ओह, और मैंने जीसीसी के साथ प्रयास किया)। – Olaf